我有两张 table 。一个表 (table1) 有 28500 行,另一个表 (table2) 有 17450 行。 我想比较这些表并找到表 1 中不存在的行。
SELECT * FROM table1 WHERE ID NOT IN (SELECT DISTINCT(ID) FROM table2)
有什么建议吗?
最佳答案
试试这个:
SELECT table1.*
FROM table1
LEFT OUTER JOIN table2
ON table1.id = table2.id
WHERE table2.id IS NULL
LEFT OUTER JOIN
链接两个以 table1 开始的表,如果 table2 没有链接行,则 table2 的所有字段都将为空。因此,如果您在 WHERE
条件中输入 table2.id 为 null,您只会得到 table1 中不存在于 table2 中的行
关于mysql - MYSQL中两张表的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17994449/