关闭

SQL查询选修了全部课程的学生姓名解析

1736人阅读 评论(0) 收藏 举报
分类:
查询选修le全部课程的学生姓名
select sname
from student
where not exists
(select *
from course
where not exists
(select *
from sc
where sno =student.sno

and cno=course.cno)


第一问:两个NOT EXISTS表示双重否定:没有一个选了课的学生没有选course表里的课程
select sname
from student
where not exists /*没有一个学生满足以下的条件*/
(select * from course
where not exists /*什么条件呢?没有选过Course表里的课*/
(select * from sc
where sno =student.sno /*这里两个=分别指对应的关系,表示选过课并且是

and cno=course.cno)  Course的课,只不过用not exists否定掉了*/


0
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:153225次
    • 积分:2277
    • 等级:
    • 排名:第16576名
    • 原创:53篇
    • 转载:150篇
    • 译文:1篇
    • 评论:2条
    博客专栏
    最新评论