我先给你讲一下逻辑,然后再给个逻辑转换成SQL的示例
依据:需要判断A表有,B表没有,那么首先得有个依据,就是什么条件下,我能判定B表有A表的数据。通常都是通过两个表中对应的一列或多列值一致,我们判定这两个数据是一致。
3、示例:假设A表和B表都有f1和f2两个字段(还可以有更多别的字段),然后两个表中f1和f2都一致,我们认定两个表都有该数据
SQL翻译:
A表左连接B表,连接方式是A.f1 = B.f1 AND A.f2 = B.f2,这样子如果B表中存在和A表中f1、f2值都相等的,那么连接后,同一条记录中B表的f1应该就有值的,如果没值,说明B表中没有对应的数据,那么我用B.f1 IS NULL过滤一下,出来的就是我们要的结果了
SELECT A.f1, A.f2
FROM A LEFT JOIN B ON (A.f1 = B.f1 AND A.f2 = B.f2)
WHERE B.f1 IS NULL