ホームページ >データベース >mysql チュートリアル >MySQL で FULL JOIN をエミュレートするにはどうすればよいですか?
MySQL の FULL JOIN の制限について理解する
MySQL では、他のリレーショナル データベースとは異なり、FULL JOIN 操作を直接サポートしていません。 。これは、質問に記載されている望ましい結果を達成するには、別のアプローチが必要であることを意味します。
MySQL で FULL JOIN をエミュレートする
MySQL で FULL JOIN をエミュレートするには、推奨される回避策には、LEFT JOIN と RIGHT JOIN を組み合わせてください。その方法は次のとおりです。
SELECT t_13.value AS val13, t_17.value AS val17 FROM t_13 LEFT JOIN t_17 ON t_13.value = t_17.value UNION ALL SELECT t_13.value AS val13, t_17.value AS val17 FROM t_13 RIGHT JOIN t_17 ON t_13.value = t_17.value WHERE t_13.value IS NULL ORDER BY COALESCE(val13, val17) LIMIT 30;
このクエリは、2 つのテーブル (t_13 と t_17) のデカルト積を効果的に生成し、両方の値が NULL である行をフィルターで除外します。結果として、両方のテーブルのすべての行 (もう一方のテーブルに一致する値がない行も含む) が含まれるテーブルが作成され、考えられるすべての組み合わせが表現されることが保証されます。
以上がMySQL で FULL JOIN をエミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。