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

mysqlで2つのテーブルを結合するために完全外部結合を行う方法は?

    FULL OUTER JOINを実行するには 行う LEFT OUTER JOIN およびUNION RIGHT OUTER JOINを使用 (MySqlを提供しました まだFULL OUTER JOINをサポートしていません ):

    select * from A as a
        left outer join B as b on a.col = b.col
    union
    select * from A as a
        right outer join B as b on a.col = b.col
    

    Aのサブクエリを使用できることに注意してください およびB -これはクエリで機能するはずです。あなたの場合:

    select * from (SELECT * FROM t1) as a
        left outer join (SELECT * FROM t2) as b on a._tid = b._tid
    union
    select * from (SELECT * FROM t1) as a
        right outer join (SELECT * FROM t2) as b on a._tid = b._tid
    

    結果は次のようになります(データのコピー貼り付けを間違えなかった場合):

    +------+-------+------------+----------+------+-------+------------+----------+
    | _id  | _tid  | _dt        | _advance | _id  | _tid  | _dt        | _advartn |
    +------+-------+------------+----------+------+-------+------------+----------+
    |   17 | hjg   | 2012-04-18 |     2151 | NULL | NULL  | NULL       |     NULL |
    |   22 | RKT01 | 2012-04-10 |     2098 | NULL | NULL  | NULL       |     NULL |
    |   14 | RKT04 | 2012-04-18 |     1511 |    8 | RKT04 | 2012-04-20 |      150 |
    |   16 | RKT09 | 2012-04-09 |      250 | NULL | NULL  | NULL       |     NULL |
    |   15 | RKT10 | 2012-04-17 |     1313 | NULL | NULL  | NULL       |     NULL |
    |    8 | RKT21 | 2012-04-03 |     1321 | NULL | NULL  | NULL       |     NULL |
    |   19 | RKT31 | 2012-04-26 |     2512 | NULL | NULL  | NULL       |     NULL |
    |   20 | RKT33 | 2012-04-10 |     2250 | NULL | NULL  | NULL       |     NULL |
    |   25 | T01   | 2012-04-11 |     2500 | NULL | NULL  | NULL       |     NULL |
    | NULL | NULL  | NULL       |     NULL |    9 | RKT02 | 2012-04-10 |     2500 |
    +------+-------+------------+----------+------+-------+------------+----------+
    


    1. LIKEフィルターでアンダースコア文字を使用するとすべての結果が得られるのはなぜですか?

    2. Ignited-Datatablesで検索中の「like」操作の照合の不正な組み合わせ

    3. 重複キーでのPHP+MYSQLは、引き続きINDEXキーを増やします

    4. Laravelの雄弁なモデルで3つのテーブルを結合する方法