sql >> データベース >  >> RDS >> Mysql

MySQLで完全外部結合を行うにはどうすればよいですか?

    完全な参加はありません MySQLで使用できますが、それらをエミュレートできます

    コードの場合サンプル このStackOverflowの質問 から転記 あなたが持っている:

    2つのテーブルt1、t2の場合:

    SELECT * FROM t1
    LEFT JOIN t2 ON t1.id = t2.id
    UNION
    SELECT * FROM t1
    RIGHT JOIN t2 ON t1.id = t2.id
    

    上記のクエリは、完全な外部結合が発生する特殊なケースで機能します。 操作は重複する行を生成しません。上記のクエリは、UNIONに依存します クエリパターンによって導入された重複行を削除する演算子を設定します。 anti-join を使用すると、重複する行の導入を回避できます。 2番目のクエリのパターンを作成し、UNIONALL集合演算子を使用して2つの集合を結合します。より一般的なケースでは、完全外部結合が重複行を返す場合、これを行うことができます:

    SELECT * FROM t1
    LEFT JOIN t2 ON t1.id = t2.id
    UNION ALL
    SELECT * FROM t1
    RIGHT JOIN t2 ON t1.id = t2.id
    WHERE t1.id IS NULL
    


    1. クラウド仮想マシンとマネージドクラウドデータベースの比較

    2. テーブルの作成中にエラーが発生しました:1行目の'order(order_id INT UNSIGNED NOT NULL AUTO_INCREMENT、user_id'の近くのSQL構文にエラーがあります

    3. 最短時間で1,000万件のレコードを挿入するにはどうすればよいですか?

    4. SQLServerの再構築インデックスクエリ