sql查询题目及答案270 下载本文

数据库中有如下三个表:

学生表(学号id,姓名name,性别sex,系部depart,年龄age)8个学生记录 选课表(学号id,课程号cid,成绩grade) 12门课程 课程表(课程号cid,课程名cname,学分Ccredit) 6门课程 学生-课程模式 S-T :

学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade)

1. 从学生表中查询所有同学的所有信息

select * from 学生表

2. 从学生表中查询所有学生的信息,并分别赋予一个别名

select 学号as xuehao,姓名as xingming,性别as xingbie,系部as xibu,年龄as nianling from 学生表

3. 从学生表中查询姓名是Allen的学生的信息

select * from 学生表

where 姓名='Allen' 4. 从学生表中查询

学号在1101到1199之间的所有学生的信息

select * from 学生表

where 学号between 1101 and 1199

5. 从学生表中查询年龄小于18和大于20的所有学生的学号和姓名

select 学号,姓名from 学生表 where 年龄<18 or 年龄>20

6. 从学生表中查询计算机系年龄小于20的所有学生的信息

select * from 学生表

where 系部='computer' and 年龄<20 7. 从学生表中查询姓名以A开头的学生的信息

select * from 学生表 where 姓名LIKE'A%'

8. 从学生表中查询姓名的第三个字符是A的学生的学号和姓名

select 学号,姓名from 学生表 where 姓名LIKE'__A%'

9. 从学生表中查询姓名中包含“llen”的学生的学号和姓名

select 学号,姓名from 学生表 where 姓名LIKE'%llen%'

10. 从学生表中查询姓名中包含“llen”且姓名只有5个字符的学生的学号和姓名

select 学号,姓名from 学生表

where 姓名LIKE'%llen%' and len(姓名)=5 11. 从学生表中查询有年龄信息的学生的学号和姓名

select 学号,姓名from 学生表 where 年龄is not null

12. 从学生表中查询最大年龄和最小年龄

select max(年龄)最大年龄,min(年龄)最小年龄from 学生表 13. 从学生表中查询所有学生的平均年龄

select avg(年龄)平均年龄from 学生表 14. 从学生表中查询学校所有系的名字

select distinct 系部from 学生表 15. 从学生表中查询学校共有多少个系

select count(distinct 系部)系部总和from 学生表 16. 从选课表中查询所有学生的选课情况

select distinct 课程号 from 选课表 17. 从选课表中查询选修课程号为C01课程的学生的学号

select 学号 from 选课表 where 课程号='C01'

18. 从选课表中查询所有没有选C02课程的学生的学号

select distinct 学号 from 选课表 where 课程号!='C02'

19. 从选课表中查询有选修C01或C02课程的学生的学号

select distinct 学号 from 选课表 where 课程号='C01' or 课程号='C02' 20. 从选课表中查询学号为1101的学生的选课情况

select 课程号from 选课表 where 学号='1101'

21. 从选课表中查询所有选课信息,即学号、课程号、成绩,并给成绩加8分

select 学号,课程号,成绩=成绩+8 from 选课表

22. 从选课表中查询学号为1101的学生的所有选修课程成绩的总和

select sum(成绩)成绩总和from 选课表 where 学号='1101'

23. 从选课表中查询选修课程好为C02所有学生的成绩平均值并赋予“平均成绩 24. ”列名

select avg(成绩)平均成绩from 选课表 where 课程号='C02'

25. 从选课表中查询选修课程号C02且该门课程考试及格的学生的学号

select 学号from 选课表

where 课程号='C02' and 成绩>=60

26. 从选课表中查询所有无考试成绩的学生的学号和课程的课程号

select 学号,课程号from 选课表 where 成绩is null

27. 从选课表中查询选修了课程号以C开头的学生的学号和所选课程的课程号

select 学号,课程号from 选课表

where 课程号LIKE'C%'

28. 从选课表中查询选修了课程号以C、D或E开头学生的学号和所选课程的课程号

select 学号,课程号from 选课表 where 课程号LIKE'[CDE]%'

29. 从选课表中查询选修了课程号中包含DB的学生的学号和课程号

select 学号,课程号from 选课表 where 课程号LIKE'?%'

30. 从选课表中查询选修了课程的学生的学号

select distinct 学号from 选课表 where 课程号is not null

31. 从选课表中查询选修了课程的学生的人数

select count(distinct 学号)总人数from 选课表 31. 找出姓名以D开头的学生姓名和所有成绩

select 学生表.姓名,选课表.成绩

from 学生表join 选课表on 学生表.学号=选课表.学号 where 学生表.姓名LIKE'D%'

32. 查找的所有学生姓名与学号,结果按学号降序排序

select 学号,姓名 from 学生表

order BY 学号 DESC

33. 查找成绩介于80和90之间的学生姓名,结果按成绩和姓名升序排序

select 学生表.姓名

from 选课表join 学生表on 学生表.学号=选课表.学号 where 选课表.成绩 between 80 and 90 order BY 选课表.成绩,学生表.姓名

34. 查找english系的所有学生姓名,结果按成绩和姓名升序排序

select 学生表.姓名,学生表.学号,选课表.成绩 from 选课表join 学生表on 学生表.学号=选课表.学号 where 学生表.系部='english'

35. 查找同时选修了C01及C02两门课程的学生姓名及学号

select 学生表.姓名,A.学号

from 选课表as A join 选课表as B on A.学号=B.学号 join 学生表on 学生表.学号=A.学号

where A.课程号='C01' and B.课程号='C02' 36. 查找所有选修了课程的学生姓名及所在系别

select distinct 学生表.姓名,学生表.系部

from 学生表join 选课表on 学生表.学号=选课表.学号 where 选课表.课程号is not null 37. 查找成绩高于90分的学生姓名、学号及系别

select 学生表.姓名,学生表.学号,学生表.系部 from 学生表join 选课表on 学生表.学号=选课表.学号 where 选课表.成绩>=90 38. 找出选修了C01课程的学生姓名

select 学生表.姓名