查询结果合并成一个结果集,并以系名、姓名、性别、修课名称、修课成绩的顺序显示各列。 答:select sdept 系名, sname 姓名, ssex 性别, cname 修课名称, grade 修课成绩 from student s join sc on s.sno=sc.sno
join course c on http://www.77cn.com.cno=http://www.77cn.com.cno
where sdept = '信息管理系'
UNION
select sdept , sname, ssex, cname, grade
from student s join sc on s.sno=sc.sno
join course c on http://www.77cn.com.cno=http://www.77cn.com.cno
where sdept = '计算机系'
22.查询选了VB的学生学号、姓名、所在系和成绩,并对所在系进行如下处理:
当所在系为“计算机系”时,显示“CS”;
当所在系为“信息管理系”时,显示“IS”;
当所在系为“通信工程系”时,显示“CO”;
对其他系,均显示“OTHER”。
答:select s.sno 学号,sname 姓名, case sdept
when '计算机系' then 'CS'
when '信息系' then 'IS'
when '数学系' then 'CO'
else 'OTHER'
end as 所在系,grade 成绩
from student s join sc on s.sno = sc.sno
join course c on http://www.77cn.com.cno = http://www.77cn.com.cno
where cname = 'vb'
23. 用子查询实现如下查询:
(1)查询选了“C001”课程的学生姓名和所在系。
答:select sname,sdept from student where sno in(
select sno from sc where cno = ' C001')
(2)查询通信工程系成绩80分以上的学生学号和姓名。
答:select sno,sname from student where sno in(
select sno from sc where grade > 80)
and sdept = '通信工程系'
(3)查询计算机系考试成绩最高的学生姓名。
答:select sname from student s join sc on s.sno = sc.sno
where sdept = '计算机系' and grade = (
select max(grade) from sc join student s on s.sno = sc.sno
where sdept = '计算机系')
(4)查询年龄最大的男生的姓名和年龄。
答:select sname,sage from student