比较mysql中的多个表

时间:2011-10-18 12:58:19

标签: mysql sql comparison

我有4张具有相同结构的表格。 这4个表是从另一个表生成的,主表。

  • 主表 - > A(10 000行)
    • 表1 - > a1(2 000行)
    • 表2 - > a2(3 000行)
    • 表3 - > a3(4 000行)
    • 表4 - > a4(1 000行)

假设4个生成的表是不相交的,它们的总和等于表A.

但我需要证实这一点。

我的问题:我如何比较这4张桌子,看看他们是否有任何共同点?

我知道我可以建立很多查询来内部加入a1与a2,a1与a3等等。

但我认为这应该是另一种更好的方式。

1 个答案:

答案 0 :(得分:2)

我只会union all将每个表中的所有ID group by放在一起,并检查是否有多个

select count(*) from (
select id from table1 union all
select id from table2 union all
select id from table3 union all
select id from table4) group by id having count(*)>1

如果任何ID出现多次,它将显示在此查询的结果中。