プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
SQLServer、「UNION」と「UNION ALL」の違い
別にSQLServerに限ったことじゃないのですけどね。
「UNION」と「UNION ALL」は

UNION → 重複行を除外
UNION ALL → そのままくっつける


ってな違いがあるそうです。

 tbl1
  1,A
  2,B
  3,C

 tbl2
  1,A
  2,B
  3a,C


とあった場合

 select * from tbl1
 UNION
 select * from tbl2


の結果は

 1,A
 2,B
 3,C
 3a,C


になって

 select * from tbl1
 UNION ALL
 select * from tbl2


の結果は

 1,A
 2,B
 3,C
 1,A
 2,B
 3a,C


になるんだそーです。
ちなみにUNION ALLの方が処理が少ない分
ちょっとだけ早いんですってさ。
五十歩百歩な気もしますけどね。

へー、そーなんだ。知らんかった。
「UNION」ってまず使わないもんなぁ。
過去にどーしよーもなくて「UNION ALL」を2回だけ使いましたが
自分で一から作ってる場合は「UNION」が必要そうになったら
設計の方を変えられないかまず考えます。
「UNION」使うときって色々気を付けなくちゃいけないから
逆にめんどくせっ(;´A`)って思っちゃうので。

何気に他人様の書いたコードでも
数年に一度くらいのペースでしか見ないので
結構嫌われ者なんですよね。
無駄に遅くなるイメージがある可哀想な奴です。
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● SQLServer  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事