MySQL如何在两个字段上连接表
Posted
技术标签:
【中文标题】MySQL如何在两个字段上连接表【英文标题】:MySQL how to join tables on two fields 【发布时间】:2010-10-04 15:13:33 【问题描述】:我有两个带有 date
和 id
字段的表。我想加入这两个领域。我试过了
JOIN t2 ON CONCAT(t1.id, t1.date)=CONCAT(t2.id, t2.date)
这行得通,但速度很慢。有没有更好的方法来做到这一点?
【问题讨论】:
【参考方案1】:JOIN t2 ON t1.id=t2.id AND t1.date=t2.date
【讨论】:
【参考方案2】:JOIN t2 ON (t2.id = t1.id AND t2.date = t1.date)
【讨论】:
【参考方案3】:SELECT *
FROM t1
JOIN t2 USING (id, date)
也许您需要使用 INNEER JOIN 或 其中 t2.id 不为空 如果您希望结果只匹配两个条件
【讨论】:
基本上,慢是因为具体计算没有索引的新值,所以直接条件应该更快。如果这个查询再次变慢,检查索引是否存在,有时为 2 个字段创建一个索引也是有意义的。以上是关于MySQL如何在两个字段上连接表的主要内容,如果未能解决你的问题,请参考以下文章