mysql - MYSQL中两张表的比较

标签 mysql database compare

我有两张 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/

相关文章:

javascript - 通过自定义 PHP 文件从 html 文件访问数据库

mysql - SQL 仅选择最多有 1 个重复项的行

python - 检查是否有与输入图像完全相同的图像

bash - Perl 比较两个文件并打印出现的情况

mysql - 如果一列匹配则比较 2 个 SQL 表

php - 如何使用 Codeigniter 事件记录按年份和月份分组?

php - CakePHP 2.0 - 2.1,从 Controller 查询不同的模型

database - 列式数据库比较和 DBA 工作

node.js - OpenCV - 将图像保存在 DB Nodejs 中

mysql - 正确的数据库设计 : One table to Multiple Objects