如何比较两个表数据?

时间:2011-01-10 03:07:51

标签: php mysql sql phpmyadmin

您好我有一个旧表和新表与索引/数据相同。表1和表2

但是TABLE1获得的数据多于TABLE2。这是由一些人维持的,我不知道这是怎么发生的。所以我的问题是如何比较这两个表并找出哪些数据是TABLE2缺失?那里有近200000个数据,所以手动操作是不可能的......

4 个答案:

答案 0 :(得分:0)

PHP中的

http://us.php.net/manual/en/function.array-diff.php

SQL中的

SELECT * FROM TABLE1 WHERE id {NOT} IN ( SELECT id FROM TABLE2 )

取决于比较标准

答案 1 :(得分:0)

你的意思是这样的:

SELECT * FROM TABLE1 t1 WHERE NOT EXISTS(SELECT * FROM TABLE2 WHERE t1.id == t2.id)

答案 2 :(得分:0)

通过相同的索引,我希望你的意思是他们共享一个主键?

SELECT * FROM TABLE1 WHERE username NOT IN(SELECT username FROM TABLE2)

答案 3 :(得分:0)

没有嵌套查询的解决方案:

select TABLE1.id from TABLE1 left join TABLE2 on TABLE1.id = TABLE2.id where TABLE2.id is null