3つ以上のテーブルを共通の列で結合する場合、クエリは次のように記述します。
SELECT *
FROM a, b, c
WHERE a.id = b.id
AND b.id = c.id
同僚が最近、次のようなクエリで明示的な推移閉包を実行しなかった理由を尋ねました。
SELECT *
FROM a, b, c
WHERE a.id = b.id
AND b.id = c.id
AND c.id = a.id
これには本当に何か利点がありますか?確かに、オプティマイザーはそれ自体でこれを暗示することができますか?
編集:私はそれが邪悪な構文であることを知っていますが、それをクリーンアップするための正当なレガシーコード+1@ Stuの迅速で汚い例です