ホームページ > データベース > mysql チュートリアル > MySQL で FULL JOIN 効果を実現するにはどうすればよいですか?

MySQL で FULL JOIN 効果を実現するにはどうすればよいですか?

DDD
リリース: 2024-11-20 00:18:03
オリジナル
656 人が閲覧しました

How can I achieve a FULL JOIN effect in MySQL?

MySQL FULL JOIN?

MySQL では、FULL JOIN 操作は直接サポートされていません。ただし、LEFT JOIN と RIGHT JOIN を組み合わせて使用​​しても、同様の結果を得ることができます。その方法は次のとおりです。

SELECT
    t1.column1,
    t2.column2
FROM
    table1 AS t1
LEFT JOIN
    table2 AS t2
ON
    t1.id = t2.id
UNION ALL
SELECT
    t1.column1,
    NULL
FROM
    table1 AS t1
RIGHT JOIN
    table2 AS t2
ON
    t1.id = t2.id
WHERE
    t2.id IS NULL
ログイン後にコピー

このクエリでは、LEFT JOIN によって table1 からすべての行が取得され、id 列に基づいて table2 の対応する行と照合されます。 RIGHT JOIN は、table2 からすべての行を取得し、それらを table1 の対応する行と照合します。 UNION ALL 演算子は、両方の結合の結果を結合します。

次のデータを含む 2 つのテーブル "persons" と "Orders" があるとします。

Persons
P_Id LastName FirstName
1 Hansen Ola
2 Pettersen Kari
3 Svenson Tove
Orders
OrderNo P_Id
22456 1
24562 1
77895 2
44678 2
34764 3

To上記のクエリを使用して次の結果を取得します。

LastName FirstName OrderNo
Hansen Ola 22456
Hansen Ola 24562
Pettersen Kari 77895
Pettersen Kari 44678
Svenson Tove 34764

table1 を「persons」に置き換え、table2 を次のように置き換えます。クエリに「Orders」を入力して実行します。

以上がMySQL で FULL JOIN 効果を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート