MySQL で FULL OUTER JOIN 関数を使用して 2 つのテーブルの結合を取得する方法
MySQL の FULL OUTER JOIN 関数は、内部結合と外部結合を組み合わせた強力な接続操作です。これを使用すると、2 つのテーブルの和集合を取得できます。つまり、2 つのテーブル内のすべてのデータを 1 つの結果セットに結合できます。この記事では、FULL OUTER JOIN 関数の使用法を紹介し、読者の理解を深めるためにいくつかのサンプル コードを提供します。
FULL OUTER JOIN 関数の構文は次のとおりです。
SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.column = table2.column;
この構文では、table1 と table2 は接続する 2 つのテーブル、column は接続条件、* は接続を意味します。すべての列を選択します。
テーブル A とテーブル B という 2 つのテーブルがあるとします。それらの構造とデータは次のとおりです。
テーブル A:
+----+--------+ | id | name | +----+--------+ | 1 | Tom | | 2 | Jerry | | 3 | Alice | +----+--------+
テーブル B:
+----+--------+ | id | name | +----+--------+ | 1 | Peter | | 2 | Jerry | | 4 | Bob | +----+--------+
次に、テーブル A とテーブル B の結合を取得したいとします。
FULL OUTER JOIN 関数を使用したサンプル コードは次のとおりです:
SELECT * FROM tableA FULL OUTER JOIN tableB ON tableA.id = tableB.id;
上記のコードを実行すると、次の結果が得られます:
+------+---------+---------+ | id | name | name | +------+---------+---------+ | 1 | Tom | Peter | | 2 | Jerry | Jerry | | 3 | Alice | NULL | | NULL | NULL | Bob | +------+---------+---------+
ご覧のとおり上記の結果から、FULL OUTER JOIN 関数にはテーブル A とテーブル B のすべてのデータが含まれます。結合条件に基づいて 2 つのテーブル内の同じ値を持つ行をマージし、テーブル内に一致する行がない場合は、対応する列を NULL で埋めます。
上記の例では、ID 1 と 2 の行が両方のテーブルに存在するため、それらは 1 つの行にマージされます。 ID 3 の行はテーブル A にのみ存在し、ID 4 の行はテーブル B にのみ存在するため、これらは別の行として表示されます。
SELECT * に加えて、以下に示すように、必要な列を選択して指定することもできます。
SELECT tableA.id, tableA.name, tableB.name FROM tableA FULL OUTER JOIN tableB ON tableA.id = tableB.id;
上記のコードを実行すると、次の結果が得られます:
+------+---------+---------+ | id | name | name | +------+---------+---------+ | 1 | Tom | Peter | | 2 | Jerry | Jerry | | 3 | Alice | NULL | | NULL | NULL | Bob | +------+---------+---------+
上記の例から、FULL OUTER JOIN 関数を使用して 2 つのテーブルの結合を取得する方法がわかります。これは 2 つのテーブルのデータを結合するのに役立ち、データ処理がより便利になります。
要約すると、FULL OUTER JOIN 関数は、2 つのテーブルの結合を取得するための MySQL の強力な接続操作です。 2 つのテーブルのすべてのデータを 1 つの結果セットにマージし、結合条件に基づいて同じ値を持つ行をマージできます。この記事の紹介とサンプル コードを通じて、読者が FULL OUTER JOIN 関数の使い方と使用スキルをより深く理解するのに役立つことを願っています。
以上がMySQL で FULL OUTER JOIN 関数を使用して 2 つのテーブルの結合を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。