🗂

SQLの集合演算子(備忘録)

2024/07/25に公開

集合演算子

SELECTによって抽出した結果を1つのデータの集合と捉え、
その結果同士を足し合わせたり共通部分を探したりする。

⚫︎UNION(和集合)

SELECT 列名, 列名, FROM テーブル名 
UNION (ALL)
SELECT 列名, 列名, FROM テーブル名 
  • UNION の場合

    ・重複行を一行にまとめて出力

  • UNION ALL の場合

    ・重複業をまとめずに全てそのまま出力

⚫︎EXCEPT / MINUS(差集合)

最初の検索結果から次の検索結果と重複する部分を取り除いたもの

※文A EXCEPT 文B  と 文B EXCEPT 文A では結果が異なる点に注意

SELECT 列名, 列名, FROM テーブル名 
EXCEPT (ALL)
SELECT 列名, 列名, FROM テーブル名 
  • EXCAPT の場合

    ・重複行を一行にまとめて出力

  • EXCEPT ALL の場合

    ・重複業をまとめずに全てそのまま出力

使用例・・・先月のデータには存在せず、今月のデータには存在する項目を取得する。

⚫︎INTERSECT(積集合)

SELECT 列名, 列名, FROM テーブル名 
INTERSECT (ALL)
SELECT 列名, 列名, FROM テーブル名 
  • INTERSECT の場合

    ・重複行を一行にまとめて出力

  • INTERSECT ALL の場合

    ・重複業をまとめずに全てそのまま出力

Discussion