Mysql`使用`语法用于多个表和一个连接列

时间:2014-04-21 16:57:54

标签: mysql sql join

而不是

SELECT * FROM a, b, c WHERE a.jid = b.jid AND b.jid = c.jid

SELECT * FROM a JOIN b USING(jid) JOIN c USING(jid)

我想使用类似的东西:

SELECT * FROM a, b, c USING(jid)

这可能看起来不太方便但是当我的查询在4个表中运行时,或许更多,这可能是一个真正的帮助。

即。有一列将我的数据库中的很多表联合起来。有没有办法通过仅将该列命名一次来查询多个表?

1 个答案:

答案 0 :(得分:2)

您可以使用NATURAL JOIN根据具有相同名称的列自动加入表。但是,您需要确保jid是唯一具有相同名称的列,否则您将无法获得所需的结果。

  

NATURAL JOIN是一个JOIN操作,它根据要连接的两个表中的公共列为您创建隐式连接子句。公共列是两个表中具有相同名称的列。

SELECT * FROM a
NATURAL JOIN b
NATURAL JOIN c;