查询计算机系男生修了,sql练习参考答案

SQL查询参考答案

1.分别查询学生表和学生修课表中的全部数据.

select * from student

select * from sc

2.查询计算机系的学生的姓名、年龄。

select 姓名,年龄from student where 所在系='计算机系'

3.查询选修了c01号课程的学生的学号和成绩。

select 学号,成绩from sc where 课程号='c01'

4.查询成绩在70到80分之间的学生的学号,课程号和成绩.

select 学号,课程号,成绩from sc where 成绩between 70 and 80

5.查询计算机系年龄在18到20之间且性别为"男"的学生的姓名和年龄.

select 姓名,年龄from student where 所在系='计算机系' and 性别='男' and 年龄between 18 and 20

6.查询9512101号学生的修课情况.

select * from sc where 学号='9512101'

7.查询c01号课程成绩最高的分数.

select max(成绩) 最高分from sc where 课程号='c01'

select 学号,课程号,成绩最高分from sc where 成绩=(select max(成绩) from sc where 课程号='c01')

8.查询学生都修了哪些课程,要求列出课程号

select distinct 课程号from sc

9.查询Northwind 数据库中orders表的OrderID,CustomerID和OrderDate,并奖最新的订购日期(OrderDate)列在前面.

use Northwind

select OrderDate,OrderID,CustomerID from orders

10.查询Northwind 数据库中orders表的ShipCountry列以B,C,D,F开始且第三个字符为"a"的OrderID,CustomerID 和ShipCountry信息.

select OrderID,CustomerID,ShipCountry from orders where ShipCountry like '[BCDF]_a%'

11.查询Northwind 数据库中orders表的ShipCountry列不以A,B,C,D,E,F开始且最后一个字母是"a"的OrderID,CustomerID和ShipCountry信息.

select OrderID,CustomerID,ShipCountry from orders where ShipCountry like '[^ABCDEF]%A'

12.查询学生数据库中学生的最大年龄和最小年龄.

use sqllx

select max(年龄) 最大年龄,min(年龄) 最小年龄from student

13.查询修了c02号课程的所有学生的平均成绩,最高成绩,最低成绩.

select avg(成绩) 平均成绩,max(成绩) 最高成绩,min(成绩) 最低成绩from sc where 课程号='c02'

14.统计每个系的学生人数.

select 所在系, count(*) 人数from student group by 所在系

15.统计每门课程的修课人数和考试最高分.

select 课程号,count(*) 修课人数,max(成绩) 最高分from sc group by 课程号

16.统计每个学生的选课门数,并按选课门数的递增顺序显示结果

select 学号,count(课程号) 选课门数from sc group by 学号order by count(课程号)

17.统计各系的修课的学生总数和考试的平均成绩.

select 所在系,count(*) 学生总数,avg(成绩) 平均成绩from student st join sc on st.学号=sc.学号group by 所在系18.查询选课门数超过两门的学生的平均成绩和选课门数.

select 学号,count(课程号) 选课门数,avg(成绩) 平均成绩from sc group by 学号having count(课程号)>2 19.列出总成绩超过200分的学生,要求列出学号,总成绩

select 学号,sum(成绩) 总成绩from sc group by 学号having sum(成绩)>200

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值