比较两个表的最快方法

时间:2016-05-21 17:47:01

标签: php mysql pdo

我有两个像这样的结构的表

Table 1 
tid | population
1   | 50
2   | 55
3   | 45

Table 2
tid | population
1   | 50
2   | 60
3   | 40

我必须比较这两个表并找出哪些表没有改变(在这种情况下我只能找到tid 1)

我可以创建2个数组进行循环,但由于每个表都有超过40k的记录。我正在寻找更简单,更快捷的方式!

编辑。 看起来我应该使用连接。我试图做的事情如下。 PS。表1名称为2016-5-20表2名称2016-05-21

 $sth = $conn->prepare('SELECT `2016-5-20.tid`, `2016-5-20.population`
 FROM    `2016-5-20`
 JOIN    `2016-05-21` ON 2016-5-20.tid = 2016-05-21.tid AND 2016-5-20.population = 2016-05-21.population');
 $sth->execute();
 $result2 = $sth->fetchAll(); 
 print_r($result2);

2 个答案:

答案 0 :(得分:4)

你可以加入他们:

SELECT t1.tid, t1.population
FROM   table1 t1
JOIN   table2 t2 ON t1.tid = t2.tid AND t1.population = t2.population

答案 1 :(得分:0)

 select `t1`.`id` from `table1` as `t1`,`table2` as `t2` 
 where `t1`.`id`=`t2`.`id` and `t1`.`population`<>`t2`.`population`

Fiddle