10-231 查询选修课程超过2门且成绩都在80分以上的学生
本题目要求编写SQL语句,查询选修课程超过2门且成绩都在80分以上的学生的姓名、专业及总学分。
select sname 姓名,mno 专业,sum(credit) 总学分 from stu join sc on stu.sno=sc.sno
join cou on sc.cno=cou.cno
where grade is not null
group by stu.sno
having count(sname)>=2 and min(grade)>=80
10-232 查询选修人数超过2人且成绩都在60分以上的课程
本题目要求编写SQL语句,查询选修人数超过2人且成绩都在60分以上的课程的课程名、最高成绩、最低成绩和平均成绩。
提示:请使用SELECT语句作答。
select cou.cno 课程号,cou.cname 课程名,max(sc.grade) 最高成绩,min(sc.grade) 最低成绩,avg(sc.grade) 平均成绩
from sc join cou on
sc.cno=cou.cno
where sc.cno in(
select cno from sc group by cno having count(*)>=3 and count(*)=count(grade))
and sc.grade>60
group by cou.cno,cou.cname
10-233 ignore-order-sample
本题目要求编写SQL语句,
检索出Student
表中所有符合id > 50
的记录。
提示:请使用SELECT语句作答。
select id,name
from Student
where id < 50
10-234 按城市所属的省份统计省份下所有城市的人口
浙江省:杭州,宁波,温州
江苏省:苏州,南京,无锡
请写sql统计出浙江省和江苏省所有人口
提示:请使用SELECT语句作答。
select c.name,sum(c.population) population from
(select case a.name when '杭州' then '浙江' when '宁波' then '浙江' when '温州' then '浙江' end name,sum(a.population) population
from(select name,population from city
where name in('杭州','宁波','温州'))a
group by a.name) c
where name='浙江'
union
select d.name,sum(d.population) population from
(select case b.name when '苏州' then '江苏' when '南京' then '江苏' when '无锡' then '江苏' end name,sum(b.population) population
from(select name,population from city
where name in('苏州','南京','无锡'))b
group by b.name) d
where name='江苏'
10-235 查询学生表所有学生记录(MSSQL)
本题目要求编写SQL语句,
检索出stu
表中所有学生记录。
提示:使用SQLServer的SQL语句。
select * from stu
10-236 查询学生表中部分信息(MSSQL)
本题目要求编写SQL语句,
检索出 stu
表中学生的学号、姓名、性别.
注意:性别为'1'时显示‘男’,性别为‘0’时显示 ‘女’。
提示:使用MSSQLServer 。
SELECT sno,sname,CASE WHEN sex = '1' THEN '男' ELSE '女' END AS sex
FROM stu
10-237 查询学生表中的女生信息(MSSQL)
本题目要求编写SQL语句,
检索出 stu
表中所有的女生记录。注意:sex为1时表示 男生,sex为0时表示女生。
提示:使用MSSQLServer
select sno as 学号,sname as 姓名
from stu
where sex='0'
10-238 查询学生表中大于19岁的女生(MSSQL)
本题目要求编写SQL语句,
检索出stu
表中所有年龄大于19岁的女生的记录。注意:sex为1时表示 男生,sex为0时表示女生。
计算年龄时以年计算,不考虑出生月份。
提示:假定当前日期为‘2020-03-01'
SELECT sno AS 学号 , sname AS 姓名 , sex AS 性别, mno AS 专业, YEAR('2020-03-01') - YEAR(birdate) AS 年龄, memo AS 备注
from stu
where sex='0' and YEAR('2020-03-01') - YEAR(birdate) > 19
10-239 查询年龄18-20之间的学生信息
本题目要求编写SQL语句,
检索出 stu
表中年龄在18-20之间的学生记录。
注意: 计算年龄时以年计算,不考虑出生月份。假定当前日期为‘2020-03-01'。
SELECT sno 学号,sname 姓名,sex 性别,mno 专业,YEAR('2020-03-01')-YEAR(birdate) AS 年龄,memo AS 备注
FROM stu
WHERE YEAR('2020-03-01')-YEAR(birdate) BETWEEN 18 AND 20
10-240 查询未登记成绩的学生
本题目要求编写SQL语句,
检索出sc
表中‘C001’课程未登记成绩的学生学号
select sno from sc
where cno='C001' and grade is null