数据库上机:数据查询

以所提供的数据库中数据为基础,请使用T-SQL 语句实现以下操作:

1.列出选修了‘1’课程的学生,按成绩的降序排列;

2.列出同时选修“1”号课程和“2”号课程的所有学生的学号;

3.列出课程表中全部信息,按先修课的升序排列 ;

4.列出年龄超过平均值的所有学生名单,按年龄的降序显示;

 

 

5.按照出生年份升序显示所有学生的学号、姓名、性别、出生年份及院系,在结果集中列标题分别指定为“学号,姓名,性别,出生年份,院系”;

6.按照院系降序显示所有学生的 “院系,学号、姓名、性别、年龄”等信息,其中院系按照以下规定显示:院系为CS显示为计算机系,院系为IS显示为信息系,院系为MA显示为数学系,院系为EN显示为外语系,院系为CM显示为中医系,院系为WM显示为西医系,其他显示为院系不明;

7.显示所有院系(要求不能重复,不包括空值),并在结果集中增加一列字段“院系规模”,其中若该院系人数>=5则该字段值为“规模很大”,若该院系人数大于等于4小于5则该字段值为“规模一般”, 若该院系人数大于等于2小于4则该字段值为“规模稍小”,否则显示“规模很小”;

 

8.按照课程号、成绩降序显示课程成绩在70-80之间的学生的学号、课程号及成绩; 

 

 

9.显示学生信息表中的学生总人数及平均年龄,在结果集中列标题分别指定为“学生总人数,平均年龄”;

10.显示选修的课程数大于3的各个学生的选修课程数;

 

 

11.按课程号降序显示选修各个课程的总人数、最高成绩、最低成绩及平均成绩;

 

 

12.显示平均成绩大于“200515001”学生平均成绩的各个学生的学号、平均成绩;

 

13.显示选修各个课程的及格的人数、及格比率; 

 

 

14.显示选修课程数最多的学号及选修课程数最少的学号;

 

15.显示各个院系男女生人数,其中在结果集中列标题分别指定为“院系名称、男生人数、女生人数”;

 

 

16.列出有二门以上课程(含两门)不及格的学生的学号及该学生的平均成绩;

 

补充:

1.统计考试平均成绩大于或等于80分的学生姓名、考试课程号、考试成绩和平均成绩,并将结果按照平均成绩从高到低排序。

SELECT Sname,Cno,Grade,平均成绩
FROM Student JOIN SC ON Student.Sno=SC.Sno
JOIN (SELECT Sno,AVG(Grade) 平均成绩 FROM SC GROUP BY Sno HAVING AVG(Grade)>=80) A ON Student.Sno=A.Sno

2.查询计算机系年龄小于信息管理系全体学生的学生的姓名和年龄

3.查询哪些课程没有学生选,列出相应课程号和课程名。

 

 

4.查询计算机系有哪些学生没有选课,列出相应学生的姓名。

 

5.*查询至少选了第4学期开设的全部课程的学生的学号和所在系。

SELECT Sname
         FROM Student
         WHERE NOT EXISTS
            (SELECT *
              FROM Course
              WHERE NOT EXISTS
                  (SELECT *
                   FROM SC
                   WHERE Sno= Student.Sno

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值