数据库中有如下三个表:
学生表(学号,姓名,性别,系部,年龄) 选课表(学号,课程号,成绩) 课程表(课程号,课程名,学分)
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所有学生的成绩平均值并赋予“平均成绩
”列名
select avg(成绩)平均成绩from 选课表 where 课程号='C02'
24. 从选课表中查询选修课程号C02且该门课程考试及格的学生的学号
select 学号from 选课表
where 课程号='C02' and 成绩>=60
25. 从选课表中查询所有无考试成绩的学生的学号和课程的课程号
select 学号,课程号from 选课表 where 成绩is null
26. 从选课表中查询选修了课程号以C开头的学生的学号和所选课程的课程号
select 学号,课程号from 选课表 where 课程号LIKE'C%'
27. 从选课表中查询选修了课程号以C、D或E开头学生的学号和所选课程的课程号
select 学号,课程号from 选课表 where 课程号LIKE'[CDE]%'
28. 从选课表中查询选修了课程号中包含DB的学生的学号和课程号
select 学号,课程号from 选课表 where 课程号LIKE'?%'
29. 从选课表中查询选修了课程的学生的学号
select distinct 学号from 选课表 where 课程号is not null
30. 从选课表中查询选修了课程的学生的人数
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 学生表.姓名
from 学生表join 选课表on 学生表.学号=选课表.学号 where 选课表.课程号='C01' 39. 找出与Allen在同系的学生姓名、学号
select 姓名,学号 from 学生表
where 系部=(select 系部 from 学生表
where 姓名='Allen') and 姓名!='Allen' 40. 查询各门课程成绩的最高分、最低分及平均成绩
select 课程号,max(成绩) 最高成绩, min(成绩) 最低成绩,avg(成绩) 平均成绩 from 选课表
group by 课程号
41. 查询English系学生人数
select count(*) English 系总人数 from 学生表
where 系部='English' 42.分别查询各系的学生人数 select 系部,count (*) 人数 from 学生表 group by 系部
43. 查询当前至少选修了2门课程以上的学生姓名及所在系别 select 姓名,系部 from 学生表 where 学号in( select 学号 from 选课表 group by 学号
having count(学号)>=2)
44.查询选修了C02课程的学生成绩的前三名 select top 3 姓名,成绩
from 选课表join 学生表on 选课表.学号=学生表.学号 where 课程号='C02' order by 成绩desc