プログラム学習室 http://studyhallweb.com/

DB2/400 SQL WHERE節の使い方

WHERE (基本編)

抽出するレコードの条件を指定する

SELECT * FROM T1 WHERE FA = 10
FAの値が10のレコードを抽出する

SELECT * FROM T1 WHERE FB = 'A'
FBの値がAのレコードを抽出する(文字は''でくくる)

SELECT * FROM T1 WHERE FB <> 'A'
FBの値がAでないレコードを抽出する

SELECT * FROM T1 WHERE FA => 10 AND FA < 20
FAの値が10以上、20未満のレコードを抽出する

SELECT * FROM T1 WHERE FA IS NULL
FAの値がNULLのレコードを抽出する
(NULLとブランク''は異なる)

WHERE (LIKE編)

特定パターンの文字列検索

SELECT * FROM T1 WHERE FB LIKE 'B%'
FBの値がBで始まるレコードを抽出する

SELECT * FROM T1 WHERE FB LIKE 'B_'
FBの値がBで始まる二文字のレコードを抽出する(_は任意の一文字を示す)

SELECT * FROM T1 WHERE FB LIKE '_%B%'
FBの値にBが含まれるレコードを抽出する
%B%とするとBで始まるものも含まれるが_%B%とするとBが途中に含まれるものだけとなる

SELECT * FROM T1 WHERE FB LIKE '%+_B%' ESCAPE '+'
FBの値に_Bが含まれるレコードを抽出する
ESCAPE '+' は + がエスケープ文字であることを指定している

WHERE (応用編)

テーブルの結合条件を指定する

SELECT T1.ITEMNAME, T2.PRICE
FROM T1, T2
WHERE T1.ITEMNO = T2.ITEMNO

T1には品名(ITEMNAME)と品番(ITEMNO)があり、T2には品番(ITEMNO)と価格(PRICE)があり、
品番で関連付けた品名と価格を抽出する