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语句该怎么写?
论坛求助答案:
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中的三值逻辑
- SQL Server 作业批量停止
- 结束SQL阻塞的进程
- 动态生成SQL Server视图作业
- SQL Server 语句操纵数据库
- SQL(结构化查询语句)
- oracle sql日期比较
- linux快速部署mysql服务器
- sql 存储过程分页
- 在WINXP系统上安装SQL Server企业版的方法
- 通过批处理调用SQL的方法(osql)
- SQL Server 存储过程的分页
- ASP程序与SQL存储过程结合使用详解
- SQL SERVER编写存储过程小工具
- 防御SQL注入攻击时需要注意的一个问题
- Microsoft Sql server2005的安装步骤图文详解及常见问题解决方案
- PostgreSQL教程(十九):SQL语言函数
- SQL Server复制需要有实际的服务器名称才能连接到服务器