0

結合を使用したクエリと、FROM 句で複数のテーブルを使用したクエリの違いを知りたいです。

例えば:

SELECT *
FROM table1 NATURAL JOIN table2.

また

SELECT *
FROM table1, table2
WHERE table1.field=table2.field.

どうもありがとう。

4

3 に答える 3

1

NATURAL JOIN両方のテーブルのすべての列を比較し、同じ名前と同じ型を持つ列を比較します。

したがって、基本的に、これら 2 つの SQL ステートメントは、と に同じ名前と型の列が 1 つしかなく、その列が である場合にのみ、同じ操作を実行しtable1ます。table2field

于 2013-06-22T17:59:23.450 に答える
0

SQL JOIN 句は、それらの間の共通フィールドに基づいて、2 つ以上のテーブルの行を結合するために使用されます。

最も一般的な結合のタイプは、SQL INNER JOIN (単純な結合) です。SQL INNER JOIN は、結合条件が満たされた複数のテーブルからすべての行を返します。

WHEREでもできますが、JOINでは論理的です。特定の条件には WHERE を使用します。

于 2013-06-22T17:59:31.633 に答える
0

通常、違いはまったくなく、データベースは両方を同一の実行計画に変換します。

2 つの違いは次のとおりです。

  • 結合構文を使用すると、外部結合を実行できます。
  • 結合構文では、「自然」と「使用」を使用でき、2 つの入力列を 1 つの出力列にマージします (したがって、最初のクエリの列は 2 番目の列よりも 1 つ少なくなります)。
于 2013-06-22T18:00:00.757 に答える