sql 常用语句

select sno,sname from student

从学生资料表中查询全体学生的学号、姓名

 

select sname,sno,sdept from student

从学生资料表中查询全体学生的姓名、学号和系别

 

select * from student

从学生资料表中查询全体学生的详细信息

 

select sname,2006-sage from student

从学生资料表中查询全体学生的姓名及其出生年月

 

select sname,2006-sage as '出生年月' from student

从学生资料表中查询全体学生的姓名及其出生年月

 

select sname as'姓名',2006-sage as '出生年月' from student

从学生资料表中查询全体学生的姓名及其出生年月

 

select sname 姓名,2006-sage 出生年月 from student

从学生资料表中查询全体学生的姓名及其出生年月

 

select distinct sno from student

从学生资料表中查询所有不同的学号

 

 

select sname from student where sdept='计算机系'

从学生资料表中查询所在系为计算机系的学生姓名

 

select sname,sage from student where sage<20

从学生资料表中查询年龄在20岁以下的学生姓名及其年龄

 

select sname,sdept,sage from student where sage between 20 and 23

从学生资料表中查询年龄在20至23岁(包括20岁和23岁)之间的学生姓名、系别和年龄

 

select sname,sdept,sage from student where sage>=20 and sage<=23

从学生资料表中查询年龄在20至23岁(包括20岁和23岁)之间的学生姓名、系别和年龄

 

select sname,sdept,sage from student where sage not between 20 and 23

从学生资料表中查询年龄不在20至23岁之间的学生姓名、系别和年龄

 

select sname,sdept,sage from student where sage<20 or sage>23

从学生资料表中查询年龄年龄小于20岁或者大于23岁的学生姓名、系别和年龄

 

select sname,ssex from student where sdept in ('信息系','数学系','计算机系')

从学生资料表中查询信息系、数学系和计算机系学生的姓名和性别

 

select sname,ssex from student where sdept='信息系' or sdept='数学系' or sdept='计算机系'

从学生资料表中查询信息系或者数学系或者计算机系学生的姓名和性别

 

select sname,ssex from student where sdept not in ('信息系','数学系','计算机系')

从学生资料表中查询既不是信息系、数学系又不是计算机系的学生的姓名和性别

 

select sname,ssex from student where sdept!='信息系' or sdept!='数学系' or sdept!='计算机系'

从学生资料表中查询不是信息系或者不是数学系或者不是计算机系的学生的姓名和性别

 

select sname,ssex from student

where sdept!='信息系' and sdept!='数学系' and sdept!='计算机系'

从学生资料表中查询既不是信息系、数学系又不是计算机系的学生的姓名和性别

 

select * from student

where sname like'张%'

从学生资料表中查询所有姓张学生的详细信息

 

select * from student

where sname like'[张李刘]%'

从学生资料表中查询所有姓张、李、刘的学生的详细信息

 

select * from student

where sname like'_[小大]%'

从学生资料表中查询名字中第2个字为小或者大字的学生的详细信息

 

select * from student

where sname not like'刘%'

从学生资料表中查询不姓刘的学生的详细信息

 

select * from student

where sno like'%[^2-6]'

从学生资料表中查询学号不以2-6任意一个字符结尾的学生的详细信息

 

select * from sc

where grade is null

从学生成绩表中查询无成绩的学生的详细信息

 

select * from sc

where grade is not null

从学生成绩表中查询有成绩的学生的详细信息

 

select * from student

where sdept='计算机系' and sage<20

从学生资料表中查询计算机系且年龄小于20岁的学生的详细信息

 

 

 

select * from student order by sage

从学生资料表中查询所有学生的详细信息,查询结果按年龄升序排列

 

select * from student order by sage desc

从学生资料表中查询所有学生的详细信息,查询结果按年龄降序排列

 

select sno,grade from sc

where cno='c02'

order by grade desc

从学生成绩表中查询课程号为c02的所有学生的学号和成绩,查询结果按成绩降序排列

 

select * from student

order by sdept,sage desc

从学生资料表中查询所有学生的详细信息,查询结果按系别升序排列,同一系中的学生按年龄降序排列

 

select count(*) from student

从学生资料表中查询学生的总人数

 

select count(distinct sno) from sc

从学生成绩表中查询选修了课程的学生人数

 

select sum(grade) from sc where sno='9512101'

从学生成绩表中查询并计算学号为9512101的学生的总成绩

 

select avg(grade) from sc where cno='c01'

从学生成绩表中查询并计算课程号为c01的学生的平均成绩

 

select max(grade),min(grade) from sc where cno='c01'

从学生成绩表中查询课程号为c01的学生最高分数和最低分数

 

select cno as 课程号,count(sno) as 选课人数 from sc group by cno

从学生成绩表中查询并计算各个课程号及相应的选课人数

 

select sno 学号,count(*) 选课门数,avg(grade) 平均成绩 from sc group by sno

从学生成绩表中查询并计算各个学号及对应的选课门数并求平均成绩

 

select sno from sc group by sno having count(*)>3

从学生成绩表中查询选修了3门及以上课程的学生学号

 

select sno,avg(grade),count(*) from sc group by sno having count(*)>=4

从学生成绩表中查询选修了4门及以上的学生学号、平均成绩及课程数

 

select * from student inner join sc on student.sno=sc.sno

从学生资料表和成绩表中查询每个学生及其选修课程的情况

 

select student.sno,sname,ssex,sage,sdept,cno,grade,xklb

from student join sc on student.sno=sc.sno

从学生资料表和成绩表中查询每个学生及其选修课程情况的学生学号、姓名、姓名、年龄、课程号、成绩和相关类别

 

select sname,cno,grade

from student join sc on student.sno=sc.sno

where sdept='计算机系'

从学生资料表和成绩表中查询计算机系的每个学生及相应选修课程的学生姓名、课程号和成绩

 

select student.sno,sname,cno,grade

from student left outer join sc on student.sno=sc.sno

从学生资料表和成绩表中查询每个学生及相应选修课程的学生姓名、课程号和成绩

 

select sno,sname,sage,sdept from student where sdept='计算机系'

union  select sno,sname,sage,sdept from student where sdept='信息系'

从学生资料表中查询计算机系和信息系所有学生的学号、姓名、年龄和系别

 

select sno,grade from sc where cno='c02' and grade>

       (select avg(grade) from sc where cno='c02')

从学生成绩表中查询课程号为c02且成绩大于c02的平均成绩的学生学号和成绩

原文地址:https://www.cnblogs.com/czsl/p/3186345.html