中易网

sql语言中两个not exists 的疑问

答案:2  悬赏:60  
解决时间 2021-01-03 22:08
学生表(学号,名字)student(sno,sname)
选课表(学号,课程号)sc(sno,cno)
课程表(课程号,课程名)course(cno,cname)
注:不是每个学生都会选课
查询选修了全部课程的学生姓名
书上的代码为
select sname
from student
where not exists
(select *
from course
where not exists
(select *
from sc
where sno=student.sno
and cno=course.cno))

看不懂,两个否定不就肯定了,越看越乱,不知怎么运行的???

请大虾指点

abingpow 所写的那段代码,运行后结果不对。看来理解的也不对

书上的思路是==等价于:没有一门课程是这个学生不选的

但是代码的各步运行还是不明白
最佳答案
等同于

select student.sname from student,course,sc where sc.sno<>student.sno and sc.cno<>course.cno
全部回答
in 和not in 是把外表和那表作hash join; 而exists 和 not exists 是对外表作loop,每次loop再对那表进行查询。 所以,in适合内外表都很大的情况,exists适合外表结果集很小的情况。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
上林工商所办公地址在什么地方,我要处理点事
相参的意思是什么啊?请解释下!
英特尔酷睿i5 760该配个什么主板
德国特固的管子是进口的吗,他家PEXC管西安有
打篮球运球停下后,原地一只手手心向上托球不
要是我想去广州拿点小饰品货,要去哪里拿比较
薄寒的意思是什么?薄寒的释义是什么啊?
学车c2好吗?
手机qq收不到群消息图片
你好,请问一下,江门 珠海,深圳,哪里发展
临朐县柳山工商所地址在哪,我要去那里办事
信用卡能取钱吗?
开原市源通物流地址好找么,我有些事要过去
临朐县七贤工商所地址在哪,我要去那里办事
企业法人 月缴税500块 社保应该缴费多少钱呢
推荐资讯
洛阳小八中报名时间
折剉的意思是什么啊?请解释下!
计划生育证明给医院,医院要在上面写什么吗?
桃李园学校怎么去啊,有事要去办理
有文化,这些常考成语中的历史故事,你知道吗
某三相发电机连接成三角形时每相电压为380V,
三百多能上什么高中
搭桌的意思是什么?搭桌的释义是什么啊?
荷花,清香,挨挨挤挤,碧绿,莲蓬,破裂,仿
钩弋夫人的意思是什么啊?请解释下!
古北水镇雁行客栈地址在哪,我要去那里办事
笔记本 90W 和65W的电源有什么区别?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?