【发布时间】:2008-08-14 13:44:43
【问题描述】:
当我通过一个公共列将三个或更多表连接在一起时,我会这样编写查询:
SELECT *
FROM a, b, c
WHERE a.id = b.id
AND b.id = c.id
一位同事最近问我为什么我没有在这样的查询中明确Join Transitive Closure:
SELECT *
FROM a, b, c
WHERE a.id = b.id
AND b.id = c.id
AND c.id = a.id
这真的有什么好处吗?优化器肯定可以为自己暗示这一点吗?
编辑:我知道这是邪恶的语法,但它是合法遗留代码 +1 @Stu 清理它的快速而肮脏的例子
【问题讨论】:
标签: sql