SQL语句

1.创建数据库user

create database user

2.删除数据库user

drop database user

3.创建新表user

CREATE TABLE user (

id BIGINT NOT NULL AUTO_INCREMENT,

name VARCHAR(100)  NOT      NULL,

number   INT       NOT      NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

4.查看表user数据

desc user

5.更改表user名

rename table user to users

6.修改表数据

update user set name=#{name} where id=#{id}

7.模糊查询

select * from user where name like concat('%',#{name},'%')   

1、有个表,表结构如下:

Student 学生表(学号,姓名,性别,年龄,组织部门)

Course 课程表(编号,课程名称)

Sc 选课表(学号,课程编号,成绩)

1)写一个SQL 语句,查询选修了’计算机原理’的学生学号和姓名。

select student.sno,student.sname from student

left join sc on student.sno=sc.sno

left join course on sc.cno=course.cno

where course.cname='计算机组成原理';

2)写一个SQL 语句,查询’王小明’同学选修了的课程名字。

select  cname from course  

where cno in (select cno from sc where sno=(select sno from studen where sname='王小明'));

3)写一个SQL 语句,查询选修了5 门课程的学生学号和姓名

select  studen.sno studen.sname from studen

where (select count(*) from sc where sno=studen.sno)=5;

2、有三张表,学生表S,课程C,学生课程表SC,学生可以选修多门课程,一门课程可以被多个学生选修,通过SC 表关联。

1)写出SQL 语句,查询选修了所有选修课程的学生;

select * from s where (select count(*) from sc where sc.sno=s.sno)=(select count(*) from c)

2)写出SQL 语句,查询选修了至少5 门以上的课程的学生。

select * from s where (select count(*) from sc where sno=s.sno)>4

3、数据库表(Test)结构如下:

ID

NAME

AGE

MANAGER(所属主管人ID)

106

A

30

104

109

B

19

104

104

C

20

111

107

D

35

109

112

E

25

120

119

F

45

null

要求:列出所有年龄比所属主管年龄大的人的ID 和名字

select e.id name from test e where age>

(select m.age from  test m where m.id=e.manager )

4、有如下两张表:

citystate

CityNo

CityName

StateNo

BJ

北京

Null

SH

上海

Null

GZ

广州

GD

DL

大连

LN

欲得到如下结果:

CityNo  City Name  State No  State Name

BJ       北京      NullNull

DL      大连         LN      辽宁

GZ      广州        GD      广东

SH      上海      Null  Null

写出相应的SQL 语句。

SELECT C.CITYNO, C.CITYNAME, C.STATENO, S.STATENAME FROM

CITY C, STATE S WHERE C.STATENO=S.STATENO ORDER BY(C.CITYNO);

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值