1. 查询全体学生的学号和姓名. select 学号,姓名from 学生 2. 查询全体学生的姓名,学号,所在系. select 学号,姓名,系from 学生 3. 查询全体学生的详细记录 select * from 学生 4. 查询全体学生的姓名及其出生年份 select 姓名,2006-年龄 from 学生 [意思是2008减年龄] 5. 查询选修了课程的学生学号 select distinct学号 from 选课 6. 查询2系全体学生的名单. select 姓名 from 学生 where 系=”2” 7. 查询所有年龄在20岁以下的学生姓名及年龄. select 姓名,年龄 from 学生 where 年龄<=20 8. 查询考试成绩有不及格的学生的学号. select distinct 学号 from 选课 where 成绩<60 9. 查询年龄在20~~23岁(包括20和23岁)之间的的学生的姓名,系别,年龄. select 姓名,系,年龄from 学生 where 年龄 between 20 and 23 10. 查询1系,2系,3系的学生的姓名和性别 select 姓名,性别 from 学生 where 系别 in (“1”,”2”,”3”) [in 实际上是多个or 运算符的缩写]。 我们也可以写成这样: select 姓名,性别 from 学生 where 系=’1’or 系=’2’or 系=’3’ 11. 查询既不是1系,2系也不是3系的学生的姓名和性别. select 姓名,性别 from 学生 where 系 not in (“1”,”2”,”3”) 12. 查询学号为s3的学生的详细情况. select * from 学生 where 学号 like “s3”)或者(select * from 学生 where 学号=”s3” 13. 查询所有的姓刘的学生的姓名,学号和性别. select 姓名,学号,性别 from 学生 where 姓名 like ‘刘%’ 14. 查询姓”欧阳”且全名为三个字的学生的姓名. select 姓名 from 学生 where 姓名 like “欧阳_ ” 15. 查询名字中第二个字为”阳”字的学生的姓名和学号. select 姓名,学号 from 学生 where 姓名 like “ _阳%” 16. 某些学生选修课程后没有参加考试,所以有选课记录,但是没有考试成绩.查询缺少成绩的学生的学号和相应的课程号 select 学号,课程号 from 选课 where 成绩 is null 17. 查询所有有成绩的学生学号和课程号. select 学号,课程号 from 选课 where 成绩 is not null 18. (多重条件查询)查询1系年龄在20岁以下的学生姓名. select 姓名 from 学生 where 系=’1’and 年龄<20 19. (对查询结果进行排序)查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列. select 学号,成绩,from 选课 where 课程号=’3’ order by 成绩 desc 20. 查询全体学生情况,查询结果按所在系的系号升序排列,同一个系的学生按年龄降序排列. select * from 学生 order by 系, 年龄 desc 21. (使用集函数)查询学生总人数. select count(*) from 学生 [count的功能是计数] 22. 查询选修了课程的学生的总人数. select count (distinct 学号) from 选课 23. 计算1号课程的学生的平均成绩. select avg(成绩) from 选课 where 课程号=’1’ 24. 查询选修1号课程的学生最高分数. select max(成绩) from 选课 where 课程号=’1’ 25. 求各个课程号及相应的选课人数. select 课程号,count(学号) from 选课 group by 课程号 26. 查询选修了3门以上课程的学生的学号. select 学号 from 选课 group by 学号 having count(*)>3 [这里先用group by 子句按学号分组,再用集函数count 对每一组计数.having 短语指定选择组的条件,只有满足条件(即元组的个数>3,表示此学生选修的课程超过3门)的组才会被选出来.where 子句与having 短语的区别在于作用的对象不同.where子句作用于基本表或视图,从中选择满足条件的元组.having 短语作用于组,从中选择满足条件的组.] 27. 查询每个学生及其选修课程的情况。 Sele 学生.*,选课.* from 学生,选课 where 学生.学号=选课.学号 [学生情况放在学生表里,学生选课情况放在选课表中,所以本查询实际上涉及到学生和选课两个表,这两个表之间的联系是通过公共属性学号实现的。] 28. 查询每一门课的间接先修课。 Sele f.学号,s.先修课号 from 课程 f, 课程 s where f.选修课号=s.学号 [(自身连接)在课程表关系中,只有每门课的直接先修课信息。而没有先修课的先修课。要得到这个信息,必须对一门课找到其先修课,而按此先修课的课程号,查找它的先修课。这就要将课程表与其自身连接。]. 29. 查询选修2号课程且成绩在90分以上的所有学生。 Sele 学生.学号,姓名 from 学生,选课 where 学生.学号=选课.学号 and 选课.学号=’2’,and 选课.成绩>90. 30. 查询每个学生的学号,姓名,选课的课程名及成绩。 Sele 学生.学号, 姓名,课程名,成绩 from 学生,课程,选课 where 学生.学号=选课.学号 and 选课.课程号=课程.课程号. 31. 查询与”张洋”在同一个系学习的学生. Sele 学号,姓名,系 from 学生 where 系 in (sele 系 from 学生 where 姓名=”张洋”) [in在这里可以用=号代替,因为一个学生只能在一个系里学习]. (嵌套查询)分步做, 确定张洋所在的系名.查找所有在2系学习的学生. 32. 查询选修了课程名为”数据结构”的学生学号和姓名. Sele 学号,姓名 from 学生 where 学号 in (sele 学号 from 选课 where 课程号 in (sele 课程号 from 课程 where 课程名=”数据结构”)) 或者写成连接查询: sele 学号,姓名 from 学生,选课,课程 where 学生.学号=选课.学号 and 选课.课程号=课程.课程号 and 课程.课程名=”数据结构” 33. (带有any 和 all 的子查询)查询其他系中比’2’系某一个学生年龄小的学生姓名和年龄. Sele 姓名,年龄 from 学生 where 年龄< any (sele 年龄 from 学生 where 系=’2’) and 系!=’2’ (注意这个and后的语句是父查询的限制条件)。 [这个题也可以用集函数做.首先用子查询找出2系中年龄最大的,然后在父查询中查看所有非2系且年龄小于2系最大年龄的学生姓名和年龄.] Sele 姓名,年龄 from 学生 where 年龄< (sele max(年龄) from 学生 where 系=’2’) and 系!=’2’. 34. 查询其他系中比2系所有学生年龄都小的学生姓名及年龄. Sele 姓名,年龄 from 学生 where 年龄 < all (sele 年龄 from 学生 where 系=’2’) and 系!=’2’。 或者用集函数: Sele 姓名,年龄 from 学生 where 年龄< (sele min(年龄) from 学生 where 系=’2’) and 系!=’2’ 35. (带有exists 的子查询)查询所有选修了c3课程的学生姓名. 本题涉及学生和选课两个表,我们可以在学生表中依次取每个元组的学号值,用此值去检查选课关系,若选课中存在这样的这样的元组,其学号值等于此学生表的学号的值,并且其课程号是c3,则取学生表的学生姓名送入结果表. Sele 姓名 from 学生 where exists (sele * from 选课 where 学号=学生.学号 and 课程号=’c3’). 36. 查询没有选修’c3’号课程的学生姓名. Sele 姓名 from 学生 where not exists (sele * from 选课 where 学号=学生.学号 and 课程号=’c3’) 37. 查询与”张洋”在同一个系学习的学生. Sele 学号,姓名,系 from 学生 s1 where exists (sele * from 学生 s2 where s2.系=s1.系 and s2.姓名=’张洋’). *38. 查询选修了全部课程的学生姓名.(没有能表示全部的,那么我们可以将题目的意思转换成等价的存在的含义,比如,查询这样的学生,没有一门课程是他不选修的) Sele 姓名 from 学生 where not exists (sele * from 课程 where not exists (sele * from 选课 where 学号=学生.学号 and 课程号=课程.课程号)) 39. (集合查询)查询1系的学生及年龄不大于19岁的学生. Sele * from 学生 where 系=’1’ union sele * from 学生 where 年龄<=19 40. 查询选修了课程c1或者课程c2的学生 Sele 学号 from 选课 where 课程号=’c1’ union sele 学号 from 选课 where 课程号=’c2’ 本文来源:https://www.wddqw.com/doc/204eda3d4935eefdc8d376eeaeaad1f3469311e6.html