SQL server Management Studio の使い方

以下の書籍を参照しました。
SQL Server 2008の教科書
松本美穂 松本崇博 ソシム株式会社 2009



【SQLステートメントの基本:その他の演算子】


■その他の演算子


文字データのあいまい検索に使用する。
ワイルドカードは「%」か「_」
% … 0文字以上の任意の文字列
_ … 任意の一文字
 

●例1 算術演算子

select 列名1, 列名2 +5 from テーブル名

→列名のデータに5を足した値で結果が返ってくる。
 この時、表示される列名2の名前がなく、「(列名なし)」となる。

select 列名1, 列名2 +5 as 列名2プラス5 from テーブル名

とすると、「列名2プラス5」という列名になる。


●例2 文字連結演算子の「+」

select 列名1, 列名2 + 'さん' from テーブル名

列名2のデータにすべて
値1   さん
値2   さん
というように、スペースと「さん」がついて表示


select 列名1, rtrim(列名2) + 'さん' from テーブル名

列名2のデータにすべて
値1さん
値2さん
とういうように、「さん」がついて表示



■集計関数とグループ化


合計や平均などの集計を行う。
集計関数では、NULL値は無視される。


●例1 集計関数

sum  合計
avg  平均
max  最大
min  最小
count 行数のカウント

select sum(列1) from テーブル名

→NULL値を無視して、列1の合計を集計をする。
 この時の列名は「(列名なし)」になる。

※ 平均、最大、最小、行数のカウントも同様
※ ただし、count(*)とすると、NULL値も計上できる。


●例2 グループ化 (group by)

集計関数をgroup by句と同時に使うことが多い。

select 列2 , avg(列1) from テーブル名
group by 列2

→列2ごとに、列1の平均を算出する。


●例3 having句で絞り込む

集計結果に対して絞り込みを行う。

select 列2, count(*) from テーブル名
group by 列2
having count(*) >=5

→列2ごとに、データの個数をカウントし、データ数が5以上のもののみ表示する。
 このコードだと、NULL値も計上されている。