次のselectステートメントはSQL92に準拠していますか?
SELECT table1.id, table2.id,*
FROM table1, table2
WHERE table1.id = table2.id
SELECT table1.Num, table2.id,*
FROM table1, table2
WHERE table1.Num = table2.id
StingyJackに続き…
SELECT
table1.id,
table2.id,
*
FROM
table1
INNER JOIN
table2 ON table1.id = table2.id
WHERE
table1.column = 'bob'
SELECT table1.id, table2.id,* FROM table1, table2 WHERE table1.id = table2.id and table1.column = 'bob'
JOINはどこですか?フィルターはどこ?
JOIN はまた、いくつかの規律と基本的なチェックを強制します: 交差結合または部分的な交差結合をより簡単に回避できます。
私は間違っているかもしれませんが、私の理解では、SQL92 の規則は、JOIN ステートメントを使用してテーブルを結合することです (例: FROM table1 INNER JOIN table2)。
残念ながら、そうであると私は信じていますが、その結合構文は読み取りと保守がより困難です。
MSSQL では、これら 2 つの結合方法のどちらにもパフォーマンスの違いはないことはわかっていますが、どちらが理解しやすいでしょうか?
SELECT table1.id, table2.id,*
FROM table1, table2
WHERE table1.id = table2.id
SELECT
table1.id,
table2.id,
*
FROM table1
INNER JOIN table2
ON table1.id = table2.id