ホームページ > データベース > mysql チュートリアル > FULL OUTER JOIN で MySQL クエリが構文エラーで失敗するのはなぜですか?

FULL OUTER JOIN で MySQL クエリが構文エラーで失敗するのはなぜですか?

Barbara Streisand
リリース: 2025-01-09 20:56:46
オリジナル
345 人が閲覧しました

Why Does My MySQL Query Fail with a Syntax Error on FULL OUTER JOIN?

MySQL の FULL OUTER JOIN の欠如とその回避策

問題:

FULL OUTER JOIN を使用した MySQL クエリで構文エラーが発生しました。 クエリは FULL OUTER JOIN を使用して複数のテーブルを結合しようとしました。この構文は一見正しいように見えますが、MySQL ではサポートされていません。

解決策:

MySQL は FULL OUTER JOIN を直接サポートしていません。 解決策には、LEFT JOINRIGHT JOINUNION ステートメントと組み合わせて使用​​して、この機能をエミュレートすることが含まれます。

FULL OUTER JOIN のエミュレート:

2 つのテーブル (

t1) の場合、t2 は次のように複製されます。FULL OUTER JOIN

<code class="language-sql">SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id;</code>
ログイン後にコピー
このアプローチは複数のテーブルに拡張されます。 3 つのテーブル (

t1t2) の場合、同等のものは次のようになります:t3

<code class="language-sql">SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
LEFT JOIN t3 ON t2.id = t3.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
LEFT JOIN t3 ON t2.id = t3.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
RIGHT JOIN t3 ON t2.id = t3.id;</code>
ログイン後にコピー

LEFT JOIN、および RIGHT JOIN のこの再帰的アプリケーションは、MySQL の UNION の動作を効果的に模倣し、この制限に対する実用的な回避策を提供します。FULL OUTER JOIN

以上がFULL OUTER JOIN で MySQL クエリが構文エラーで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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