我有一张表A,附近有15000个条目.我有第二个表B,有7900个条目,带有表A的公共字段.
我需要从表A中提取到第三个临时表C中的所有条目,除了那些也出现在表B中的条目.虽然听起来很简单,但我还没有找到方法.我得到的最接近的是:
INSERT INTO tableC
SELECT *
FROM tableA
INNER JOIN tableB
ON tableA.field IS NOT tableB.field
Run Code Online (Sandbox Code Playgroud)
这个SQL只选择tableA中的所有内容,甚至是tableB中的条目.
我出错的任何想法?
怎么试试呢?
INSERT INTO tableC
SELECT *
FROM tableA
WHERE tableA.field NOT IN (SELECT tableB.field FROM tableB)
Run Code Online (Sandbox Code Playgroud)
或者您可以尝试备用EXISTS语法
INSERT INTO tableC
SELECT *
FROM tableA
WHERE NOT EXISTS (SELECT * FROM tableB WHERE tableB.field = tableA.field)
Run Code Online (Sandbox Code Playgroud)