SQL server Management Studio の使い方

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



【SQLステートメントの基本:WHERE句で利用できる演算子】

■比較演算子


比較演算子の一覧
a = b a と b は等しい
a < b a は b より小さい
a > b a は b より大きい
a <= b a は b 以下
a >= b a は b 以上
a <> b a と b は等しくない


●例1

select *または列名 from テーブル名
where 列名 = 値

select *または列名 from テーブル名
where 列名 <= 値


●例2 条件を否定する場合

select *または列名 from テーブル名
where not ( 列名 = 値 )

  ⇕⇕⇕ 同じこと

select *または列名 from テーブル名
where 列名 <> 値



■論理演算子


where句で条件を複数指定したい場合に使用する。
AND すべての条件を満たす
OR  どちらかの条件を満たすデータの表示


●例

select *または列名 from テーブル名
where 列名1 = 値1
and 列名2 > 値2


※ and と or を同時に使うと、and が優先される。
※ or を優先させたい場合は、その条件を()でくくる。



■BETWEEN演算子


△△以上▲▲以下、という条件を指定した場合に使用する。
1つの条件式に演算子は1つしか使えないため。
※ 未満の条件はbetweenでは指定できない


●例1 500以上700以下を指定したい場合

select *または列名 from テーブル名
where 列名1 >= 500
and 列名1 <= 700

  ⇕⇕⇕ もっとすっきり

select *または列名 from テーブル名
where 列名1 between 500 and 700


●例2 500以上700未満を指定したい場合

select *または列名 from テーブル名
where 列名1 >= 500
and 列名1 < 700



■NULL値の検索


NULL値を検索するときは、is null を使用する。


●例

select *または列名 from テーブル名
where 列名1 is null



■IN演算子


AまたはBまたはC といった条件の指定に使用する。


●例1

select *または列名 from テーブル名
where 列名1 in ( 値1 , 値2 , … )


●例2 NULL値を指定したい場合

select *または列名 from テーブル名
where 列名1 in ( 値1 , 値2 , … )
or 列名1 is null



■LIKE演算子


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

●例1 列名1内の「あ」で始まるデータの検索

select *または列名 from テーブル名
where 列名1 like 'あ%'

※ 「%あ%」のように、検索ワードの頭にも使用できる。


●例2 列名1内の「あ」で始まり、「い」を含んだデータの検索

select *または列名 from テーブル名
where 列名1 like 'あ%'
or 列名1 like '%い%'


●例3 二文字目に「あ」があるデータを検索

select *または列名 from テーブル名
where 列名1 like '_あ%'


※ 文字「'」を含んだ文字列の検索をしたい場合
 × → 'shelly's'
 ○ → 'shelly''s'

※ 「%」や「_」を含んだ文字列の検索をしたい場合
 ESCAPE句を使用する。
 × → '100%'
 ○ → '100\%%' escape '\'
 % の前に \% を付けることで、「% はワイルドカードではない」となる。