重複の可能性:
明示的な SQL 結合と暗黙的な SQL 結合
性能の違いを知りたい
select * from A,B,C where A.x = B.y and B.y = C.z
と
select * from A INNER JOIN B on A.x = B.y INNER JOIN C on B.y = C.z
基本的に、内部結合がデカルト積よりも優れているかどうかを知りたいですか? また、インナージョインではデカルト積を内部で行うのでしょうか?
重複の可能性:
明示的な SQL 結合と暗黙的な SQL 結合
性能の違いを知りたい
select * from A,B,C where A.x = B.y and B.y = C.z
と
select * from A INNER JOIN B on A.x = B.y INNER JOIN C on B.y = C.z
基本的に、内部結合がデカルト積よりも優れているかどうかを知りたいですか? また、インナージョインではデカルト積を内部で行うのでしょうか?
まず、これら 2 つの操作は 2 つの異なる目的のためのものですが、デカルト積は、あるテーブルの各行を別のテーブルの各行に結合することによって得られる結果を提供します。内部結合 (単純な結合とも呼ばれます) は、結合条件を満たす行のみを返す 2 つ以上のテーブルの結合です。
あなたがここに書いたことに来ます:
デカルト積の場合、最初にA、B、Cで構成されるテーブルが作成され、その後、与えられた条件に基づいて結果が得られます。しかし、ご覧のとおり、それは重いプロセスです。
一方、内部結合は、指定された条件を実際に満たしている結果のみを選択します。したがって、最終結果を達成するためのより良いソリューションです。
1 つ目は、SQL 言語の乱用です。