exists, not exists用法

原创
2016/11/03 20:29
阅读数 251

tableA

|column1 | column1 |column3 |


tableb

|column1 | column1 |column3 |


要查询 tableA 的数据,条件是是 tableA.column1 不在 tableBtableB.column2

也就是要得到类似以下语句的效果(not in 效果不完全等同于 not exists , 如果子查询中出现空记录, 则整个查询语句不会返回数据)

SELECT 
    a.*
FROM
    tableA a
WHERE 
    a.column1 not in (
        SELECT column2 FROM tableB
    )

可以使用如下语句来实现

SELECT
    a.*
FROM
    tableA a
WHERE
    NOT EXISTS(
        SELECT b.column2 FROM tableB b WHERE a.colunm1=b.column2
    )

以上只是两张表的情况, 其实在多张表的连接查询中也是比较好用的. 以上写法同样适用于exists

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
3 收藏
0
分享
返回顶部
顶部