题面
思路是,用多个嵌套搜索。
筛选选了张老师课的学生的学号,并计算他选了多少门张老师的课
同时计算出了张老师教了多少门课
如果该学生选的张老师的课的数量等于张老师教的课的数量说明他全选了。
SQL:
select sname
from stu
where sno in (
select sno
from sc
where cno in (
select cno
from cou
where teacher='张老师'
)
group by sno #限制了sno为该学生选的张老师的课的数量
having count(sno)=(
#计算张老师课的数量
select count(cno)
from cou
where teacher='张老师'
)
)