結合を使用したクエリと、FROM 句で複数のテーブルを使用したクエリの違いを知りたいです。
例えば:
SELECT *
FROM table1 NATURAL JOIN table2.
また
SELECT *
FROM table1, table2
WHERE table1.field=table2.field.
どうもありがとう。
NATURAL JOIN
両方のテーブルのすべての列を比較し、同じ名前と同じ型を持つ列を比較します。
したがって、基本的に、これら 2 つの SQL ステートメントは、と に同じ名前と型の列が 1 つしかなく、その列が である場合にのみ、同じ操作を実行しtable1
ます。table2
field
SQL JOIN 句は、それらの間の共通フィールドに基づいて、2 つ以上のテーブルの行を結合するために使用されます。
最も一般的な結合のタイプは、SQL INNER JOIN (単純な結合) です。SQL INNER JOIN は、結合条件が満たされた複数のテーブルからすべての行を返します。
WHEREでもできますが、JOINでは論理的です。特定の条件には WHERE を使用します。
通常、違いはまったくなく、データベースは両方を同一の実行計画に変換します。
2 つの違いは次のとおりです。