在两个不同的表中找到两个相等的列

时间:2015-02-21 04:44:49

标签: mysql

我试图在一个表中查找值,其中两列在另一个表中相等,我尝试在这些表中创建一个新列,其值为( "column 1" - "column 2" )它确实有效,但需要很多时间,有更好的方法吗?

表格就像这样

TABLE ONE
NAME | ADDRESS | ZIPCODE | NUMBER | ZIPNUMBER | CITY

TABLE TWO
DATE | ZIPCODE | NUMBER | ZIPNUMBER

然后我用

Select * 
from t1 a 
inner join t2 b on a.zipnumber = b.zipnumber

1 个答案:

答案 0 :(得分:0)

在开始之前,在两个表上添加两列索引:

ALTER TABLE t1 ADD INDEX (zipcode, number);
ALTER TABLE t2 ADD INDEX (zipcode, number);

然后你可以执行:

SELECT * FROM t1, t2 WHERE t1.zipcode=t2.zipcode AND t1.number=t2.number

它会很快,因为它会使用索引