首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问多表查询的有关问题,多谢!

2012-01-10 
请教多表查询的问题,谢谢!!学生表Student包含以下几个字段(Sno,Sname,Ssex,Sage,Sdept)学号姓名性别年龄所

请教多表查询的问题,谢谢!!
学生表Student           包含以下几个字段
(Sno     ,   Sname     ,   Ssex     ,   Sage     ,   Sdept)
    学号       姓名           性别         年龄           所在系

课程表Course
(Cno       ,   Cname       ,   Cpno         ,     Ccredit     )
课程号       课程名       选修课号         学分

学生选课表Sc
(Sno     ,     Cno       ,     Grade   )
    学号         课程号       成绩

要求查询选修了全部课程的学生姓名

[解决办法]
select sname from student
where sno in (
select sno from sc
group by sno
having count(*) =
( select count(*) from course)
)
[解决办法]
楼上的朋友用了嵌套,用一个jion吧,看起来比较繁琐了,呵呵

select a.* from Student as a
join (
select distinct Sno from Sc
group by Sno
having count(distinct Cno) = (
select count(*) from Course
)
) as b on a.Sno = b.Sno

热点排行