okinawa

IT勉強メモ

UNIONの使い所

参考記事

note.com

UNIONのイメージ

UNIONは縦にテーブル結合。
JOINは横にテーブル結合。
というイメージ。

UNIONの使い所

異なるテーブルの値を集計したいとき

fruits table

Meat table

フルーツテーブルと肉テーブルの店鋪コード2の売上合計を出力↓

select sum(sale_value) from 
(
select * from Fruits
union
select * from Meat
) AS Table3
where
Table3.tenpo_code = 2
group by tenpo_code

FULL OUTER JOINの使い所

書いたけどこれLEFT JOINでいいじゃんということで以下は却下。

良い例が思いつかなかった・・・。なにか思いついたら書き直そう。

結合元テーブルにないデータも結合したいとき。

例:商品マスタにない謎の商品の売上が計上されている。
  謎の商品を探したい。

商品マスタ × 商品トランザクション を結合

select * from Syohin_master sm
full outer join Syohin_transaction st
on sm.syohin_name = st.syohin_name
where
sm.syohin_name IS NULL