今やっているプログラムで使わざるを得なくなったUNION構文。
UNIONとUNION ALL何が違うんだろう?と調べてみました。
SQLをわかっている方向けに説明すると、行全体にdistinctをかけるのがUNIONで、かけないのがUNION ALL。
つまりUNIONで連結した場合、全てのカラムの値が同じ行が複数あった場合、1行を残してすべてまとめられます。
----------------------
| col_a | col_b |
----------------------
| 0 | a |
----------------------
こんな取得結果をUNIONとUNION ALLにて連結した場合。
----------------------
| col_a | col_b |
----------------------
| 0 | a |
----------------------
これがUNION
----------------------
| col_a | col_b |
----------------------
| 0 | a |
----------------------
| 0 | a |
----------------------
これがUNION ALL