当前位置:   article > 正文

数据库SQL查询习题_查询计算机系选修了3门以上课程的学生的学号

查询计算机系选修了3门以上课程的学生的学号

目录

设教学数据库Education有三个关系:

查询问题

1、查所年龄在20至23岁之间的学生姓名、系别及年龄。

2、查既不是计算机系、数学系、又不是信息系的学生姓名、性别

3、查所有姓“刘”的学生的姓名、学号和性别。

4、查缺考的学生的学号和课程号。

5、查询选修了3号课程的学生的学号和成绩,其结果按分数的降序排列。

6、查询全体学生的情况,查询结果按所在系升序排列,对同一系中的学生按年龄降序排列。

7、查询学生总人数。

8、检索选修课程号为2或4的学生学号;

9、检索至少选修课程号为C2和C4的学生学号;

10、检索不学C2课的学生姓名和年龄;

11、检索学习全部课程的学生姓名;

12、查询所学课程包含学生S3所学课程的学生学号。

13、计算选修了C1课程的学生平均成绩。

14、查询各个课程号与相应的选课人数。

15、查询计算机系选修了3门以上课程的学生的学号。

16、求基本表S中男同学的每一年龄组(超过50人)有多少人?要求查询结果按人数升序排列,人数相同按年龄降序排列。

17、查询选修了C2课程且成绩在90分以上的所有学生。

18、统计每一年龄选修课程的学生人数。

19、查询选修课程名为“数据库”的学生学号和姓名。


设教学数据库Education有三个关系:

学生关系S(Sno,Sname, Ssex,Sage,Sdept);

学习关系SC(Sno,Cno,Grade);

课程关系C(Cno,Cname,Cdept,Tname)

查询问题

1、查所年龄在20至23岁之间的学生姓名、系别及年龄。

  1. select Sname,Sdept,Sage
  2. from S
  3. where Sage between 20 and 23

2、查既不是计算机系、数学系、又不是信息系的学生姓名、性别

  1. select Sname,Ssex
  2. From S
  3. Where Sdept not in('CS','MA','IS')

3、查所有姓“刘”的学生的姓名、学号和性别。

  1. select Sname,Sno,Sex
  2. from S
  3. where Sname like "刘%"

4、查缺考的学生的学号和课程号。

  1. select Sno,Cno
  2. from SC
  3. where Grade is null

5、查询选修了3号课程的学生的学号和成绩,其结果按分数的降序排列。

  1. select Sno,Grade
  2. from SC
  3. where Cno='3'
  4. order by Grade desc

6、查询全体学生的情况,查询结果按所在系升序排列,对同一系中的学生按年龄降序排列。

  1. select *
  2. from S
  3. order by Sdept asc,Sage desc

7、查询学生总人数。

  1. select count(*)
  2. from S

8、检索选修课程号为2或4的学生学号;

  1. select Sno
  2. from SC
  3. where Cno='2' or Cno='4'

9、检索至少选修课程号为C2和C4的学生学号;

  1. select Sno
  2. from SC
  3. where Cno='C2' and Sno in
  4.   (select Sno
  5.   from SC
  6.   where Cno='C4')

10、检索不学C2课的学生姓名和年龄;

  1. select Sno,Sage
  2. from S
  3. where Sno not in
  4. (select Sno from SC where Cno='C2')

11、检索学习全部课程的学生姓名;

  1. //Exists子句只返回true值,Not Exists只返回false值。
  2. select Sname
  3. from S
  4. where not exists
  5. (select * from C
  6. where not exists
  7. (select * from SC
  8. where S.Sno=SC.Sno and SC.Cno=C.Cno))
  9. //查找学习了所有课程的学生,即是在C中不存在一门课程没有学。

12、查询所学课程包含学生S3所学课程的学生学号。

  1. select Sno
  2. from SC 
  3. where Cno in
  4.   (select Cno
  5.   from SC
  6.   where Sno='S3')

13、计算选修了C1课程的学生平均成绩。

  1. select avg(Grade)
  2. from SC
  3. where Cno='C1'

14、查询各个课程号与相应的选课人数。

  1. select Cno,count(Sno)
  2. from Sc
  3. group by Cno

15、查询计算机系选修了3门以上课程的学生的学号。

  1. select Sno
  2. from S,SC
  3. where Sdept='CS' and S.Sno=SC.Sno
  4. group by Sno
  5. having count(*)>3

16、求基本表S中男同学的每一年龄组(超过50人)有多少人?要求查询结果按人数升序排列,人数相同按年龄降序排列。

  1. select Sage,count(Sno)
  2. from S
  3. group by age
  4. having count(*)>50
  5. order by count(*) asc,Sage desc

17、查询选修了C2课程且成绩在90分以上的所有学生。

  1. select Sno
  2. from SC
  3. where Cno='C2' and Grade>90

18、统计每一年龄选修课程的学生人数。

  1. select Sage,count(distinct S.Sno)
  2. from S,SC
  3. where S.Sno=SC.Sno
  4. group by age

19、查询选修课程名为“数据库”的学生学号和姓名。

  1. //嵌套查询
  2. select Sno,Sname
  3. from S
  4. where Sno in
  5.   (select Sno
  6.   from SC
  7.   where Cno in
  8.          (select Cno
  9.           from C
  10.           where Cname="数据库"));
  11. //连接查询
  12. select Sno,Sname
  13. from S join SC on S.Sno=SC.Sno
  14. join C on SC.Cno=C.Cno and C.Cname="数据库";
  15. select Sno,Sname
  16. from S,SC,C
  17. where S.Sno=SC.Sno and SC.Cno=C.Cno and C.Cname="数据库";

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/908769
推荐阅读
相关标签
  

闽ICP备14008679号