一道SQL笔试题:使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位

S (SNO,SNAME,SDD,SAGE)   

SNO,SNAME,SDD,SAGE  

分别代表学号、学

员姓名、所属单位、学员年龄

 

C (CNO,CNAME )                  

CNO,CNAME       

分别代表课程编号、课程名称

 

SC(SNO,CNO,SCORE )          

SNO,CNO,SCORE     

分别代表学号、

所选修的

课程编号、学习成绩

 

三个表的数据如下:

问题:

使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位

自己写的SQL:

SELECT SNO,SDD FROM S WHERE SNO IN
(
select sno from
(
SELECT SNO,COUNT(sc.cno)as countC FROM SC right JOIN C ON SC.CNO=C.CNO
GROUP BY SNO having COUNT(sc.cno)=(select COUNT(distinct c.cno) from c)
) a
);

 

posted @ 2015-03-19 17:11  hongyan5682  阅读(4608)  评论(3编辑  收藏  举报