SQL语句技巧:查询存在一个表而不在另一个表中的数据记录

简介:

方法一(仅适用单个字段)
使用 not in ,容易理解,效率低

select A.ID from A where A.ID not in (select ID from B)

方法二(适用多个字段匹配)
使用 left join...on... , "B.ID isnull" 表示左连接之后在B.ID 字段为 null的记录

select A.ID from A left join B on A.ID=B.ID where B.ID is null 

方法三(适用多个字段匹配)

select * from B where (select count(1) as num from A where A.ID = B.ID) = 0

方法四(适用多个字段匹配)

select * from A where not exists(select 1 from B where A.ID=B.ID)

 

同步发表于我的个人网站:http://www.zuowenjun.cn/post/2014/10/09/54.html

本文转自 梦在旅途 博客园博客,原文链接:http://www.cnblogs.com/zuowj/p/4013434.html  ,如需转载请自行联系原作者

相关文章
|
2天前
|
SQL 关系型数据库 MySQL
|
2天前
|
SQL 关系型数据库 MySQL
|
4天前
|
SQL 数据库
Sql中如何添加数据
Sql中如何添加数据
7 0
|
4天前
|
SQL 前端开发
基于jeecgboot复杂sql查询的列表自定义列实现
基于jeecgboot复杂sql查询的列表自定义列实现
10 0
|
7天前
|
SQL 数据库
SQL数据库基础语法-查询语句
SQL数据库基础语法-查询语句
|
8天前
|
SQL API 数据库
在Python中获取筛选后的SQL数据行数
在Python中获取筛选后的SQL数据行数
19 1
|
8天前
T-sql 高级查询( 5*函数 联接 分组 子查询)
T-sql 高级查询( 5*函数 联接 分组 子查询)
|
8天前
|
机器学习/深度学习
T-sql 各种查询命令
T-sql 各种查询命令
|
8天前
|
SQL 分布式计算 数据可视化
数据分享|Python、Spark SQL、MapReduce决策树、回归对车祸发生率影响因素可视化分析
数据分享|Python、Spark SQL、MapReduce决策树、回归对车祸发生率影响因素可视化分析
|
14天前
|
SQL 机器学习/深度学习 数据采集
数据分享|SQL Server、Visual Studio、tableau对信贷风险数据ETL分析、数据立方体构建可视化
数据分享|SQL Server、Visual Studio、tableau对信贷风险数据ETL分析、数据立方体构建可视化