您的位置:首页 > 数据库

sql笔记 not exists

2016-06-11 22:15 330 查看
问题:从S(学号,姓名,年龄,生日)表和SC(学号,课程号,成绩)表中查询出没有选择课程号为1001的课程的所有学生的学号和姓名。
请问这个查询SQL语句该怎么写?

论坛求助答案:
SELECT 学号,
姓名
FROM S
WHERE NOT EXISTS (SELECT 1
FROM SC
WHERE SC.课程号 = '1001'
AND S.学号 = SC.学号) ;

我的理解是根据 SC.课程号
= '1001'来筛选,然后根据 S.学号=SC.学号 来判断S表中存在不存在的,就是两个表共有或相似的字段。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

附exists/not
exists语法:

 EXISTS subquery
;

摘抄与论坛,链接:http://bbs.csdn.net/topics/330176966
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql