かぷこのメモ

仕事でやってきたことなど自由に書いていきます

【SQL】UNIONってなに?

  • UNIONとは二つ以上のSELECTの結果を、統合して表示してくれる仕組み

UNION・・・重複は削除

UNION ALL・・・重複も含める

 

  •  書き方

SELECT文を繋げるように「UNION」を書く。

表示内容は同じでなければならない。一緒に表示するために、結果の数や型が同じである必要がある。違う場合はエラーとなる。

ORDER BY・・・UNIONの後に使用する

      ASC…昇順 数の小さいものから大きいものへ進む順序

      DESC…降順 

GROUP BY・・・UNIONの後に使用する。

   SELECTで挟み、ASで名前を付ける必要がある。

   種類ごとに集計関数を使用する。という形で使用されるケースが多い。

   SELECT[表示する要素名]

   FROM[テーブル名

   ]GROUP BY[グループ化する要素名];

 

  •  実例

SELECT WT.WORK_CD FROM (
                                     SELECT T201.COMPANY_CD,
                                                    T201.WORK_CD
                                      FROM T201_WORK T201
                                      WHERE T201_WORK_CD IN :WORK_CD
                                      AND T201.COMPANY_CD = :COMPANY_CD
                                      UNION
                                      SELECT T201.COMPANY_CD,
                                                     T201.WORK_CD
                                       FROM TS201_WORK T201
                                       WHERE T201.WORK_CD IN :WORK_CD
                                       AND T201.COMPANY_CD = :COMPANY_CD) WT
                                       GROUP BY T.WORK_CD
                                       ORDER BY T.WORK_CD ");