【SQL】UNION/UNION ALLで表を結合する【SQL Server】

  • 2020.08.05
  • SQL
【SQL】UNION/UNION ALLで表を結合する【SQL Server】

はじめに

コジマです。

UNIONとUNION ALLの使い方について書いてみます。

どちらも表の出力結果を結合するものですが、違いがあります。

UNION: 重複を削除する
UNION ALL: 重複を削除しない

簡単な例で見てみましょう。

UNIONの例

サンプルSQL

出力結果

id name
1 kojima
2 yoshida
3 tanaka

UNION ALLの例

サンプルSQL

出力結果

id name
1 kojima
2 yoshida
3 tanaka
3 tanaka

このような差があります。

複数条件でSELECTしたものを1つの表に出したいけど、WHERE複雑すぎて嫌になっちゃうよ~

というときに使えます。

SQLが長く冗長になるというデメリットがありますが、抽出条件を明確にしやすいためSQLの見通しを良くできます

さいごに

UNIONの公式ドキュメントは以下になります。ご参考まで。
https://docs.microsoft.com/ja-jp/sql/t-sql/language-elements/set-operators-union-transact-sql?view=sql-server-ver15

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

以上、コジマでした。


SQLカテゴリの最新記事