而不是
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个表中运行时,或许更多,这可能是一个真正的帮助。
即。有一列将我的数据库中的很多表联合起来。有没有办法通过仅将该列命名一次来查询多个表?
答案 0 :(得分:2)
您可以使用NATURAL JOIN
根据具有相同名称的列自动加入表。但是,您需要确保jid
是唯一具有相同名称的列,否则您将无法获得所需的结果。
NATURAL JOIN是一个JOIN操作,它根据要连接的两个表中的公共列为您创建隐式连接子句。公共列是两个表中具有相同名称的列。
SELECT * FROM a
NATURAL JOIN b
NATURAL JOIN c;