私は内部結合を研究していて、私は古いWHERESQL-92の人です。その意味を知り、それがどのように機能するかを理解したいと思います。したがって、これはSQL結合に関する理論上の質問にすぎません。これは...
SELECT * FROM -- Query 1
tbl1
INNER JOIN (
tbl2
INNER JOIN (
tbl3 INNER JOIN tbl4 ON tbl3.Col1 = tbl4.Col1
)
ON tbl2.col1 = tbl3.col2
)
ON tbl1.col1 = tbl3.col3
...これと同じですか?
SELECT * FROM -- Query 2
tbl3
INNER JOIN tbl4 ON tbl3.col1 = tbl4.col1
INNER JOIN tbl2 ON tbl2.col1 = tbl3.col2
INNER JOIN tbl1 ON tbl1.col1 = tbl3.col3
...またはこれ(論理解像度でソートされていません)?
SELECT * FROM -- Query 3
tbl3
INNER JOIN tbl1 ON tbl1.col1 = tbl3.col3
INNER JOIN tbl2 ON tbl2.col1 = tbl3.col2
INNER JOIN tbl4 ON tbl3.col1 = tbl4.col1
..またはこれ(参照ノードが変更されました。引用される前に参照されているテーブルがありますが、デカルト積は同じである必要があります)
SELECT * FROM -- Query 4
tbl4
INNER JOIN tbl1 ON tbl1.col1 = tbl3.col3
INNER JOIN tbl2 ON tbl2.col1 = tbl3.col2
INNER JOIN tbl3 ON tbl4.col1 = tbl3.col1
..またはこれ?
SELECT * FROM -- Query 5
tbl1,tbl2,tbl3,tbl4
WHERE
tbl3.col1 = tbl4.col1
tbl2.col1 = tbl3.col2
tbl1.col1 = tbl3.col3
...美的、構文的、ベストプラクティス、および機能的な観点から?
非常にオープンな質問ですが、コミュニティが光を当てるのは非常に興味深いと思います。