違い: 内部結合クエリ操作では、結合条件に一致するデータ行がリストされますが、外部結合では、返されるクエリ結果セットには、結合条件を満たす行だけでなく、左側のテーブル (左外部結合) も含まれます。 、右側のテーブル (右外部結合) または 2 つのサイドテーブル (完全外部結合) のすべてのデータ行。
#2 つのテーブル間の接続は、1 つのテーブルの 1 つ以上の列を別のテーブルの列にリンクすることによって確立されます。 2 つのテーブルを結合するために使用される式が結合条件を形成します。接続が成功すると、2 番目のテーブルのデータが最初のテーブルに接続され、複合結果セット (2 つのテーブルのデータ行を含むプラン) が形成されます。簡単に言うと、2 つのテーブルにはサブセットがありますが、これは一時的なものにすぎません。
接続には、内部接続と外部接続という 2 つの基本的なタイプがあります。 2 つのタイプの主な違いは、外部結合は結合条件が満たされない場合でも結果セットに行を返すのに対し、内部結合は結果セット クラスに行を返さないことです。
外部接続が接続条件を満たさない場合、通常は 1 つのテーブルの列が返されますが、2 番目のテーブルには戻り値はなく、null になります。
(1) 内部connection
内部結合クエリ操作は、結合条件に一致するデータ行をリストし、比較演算子を使用して結合された列の列値を比較します。内部結合には 3 つのタイプがあります:
1. 等価結合: 結合条件で等号 (=) 演算子を使用して、結合された列の列値を比較します。クエリ結果には、すべての列値がリストされます。結合されたテーブルの列内の値 (その中に重複する列を含む)。
2. 不等接続: 接続条件で等号演算子を除く他の比較演算子を使用して、接続されている列の列値を比較します。これらの演算子には、>、>=、<=、<、!>、!<、および <> が含まれます。
3. 自然結合: 結合条件で等号 (=) 演算子を使用して、結合された列の列値を比較しますが、クエリ結果セットに含まれる列を示すために選択リストを使用します。繰り返し列の結合テーブルを削除します。
(2) 外部結合
外部結合。返されるクエリ結果セットには、結合条件を満たす行だけでなく、左側のテーブル (左外部結合) も含まれます。または左結合))、右テーブル (右外部結合または右結合)、または 2 つのサイドテーブル (完全外部結合) のすべてのデータ行。
左結合 (左結合) は、右テーブルの結合フィールドに等しい、左テーブル内のすべてのレコードを返します。
右結合 (右結合) は、右テーブル内のすべてのレコードを返します。左側のテーブルの結合フィールドと等しいレコード;
例 1:
SELECT a.*,b.* FROM luntan LEFT JOIN usertable as b ON a.username=b.username
例 2:
SELECT a.*,b.* FROM city as a FULL OUTER JOIN user as b ON a.username=b.username
プログラミング関連の知識の詳細については、次のサイトを参照してください。 : プログラミング学習 ! !
以上が内部結合と外部結合の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。