初詣合格祈願SQL講座

SQL講座 SELECT3

目指せ!SQL

初詣合格祈願SQL講座 SELECT3

特定の文字を含む情報の抽出

特定の文字が含まれた項目を検索する場合はLIKEを使用します。LIKEは指定した文字または文字列と一致するものを検索します。

<例題>
学籍表から名前の先頭文字が「石」で始まる氏名、学科、年齢と性別を表示する

学籍表(主キー:学籍番号)
学籍番号氏名性別年齢本籍学科
94001浅田 一郎21兵庫県情報
94003石田 美穂22大阪府公務員
94012上原 二郎19福岡県情報
94015江崎 優香20福岡県情報
94021大和 三郎21山口県公務員

SELECT 氏名,学科,年齢,性別 ← 表示させる列名を指定する
FROM 学籍表
WHERE 氏名 LIKE '石%'

実行結果
氏名学科年齢性別
石田 美穂公務員22

%は特定の文字を抽出するために使用する特殊文字です。%のことをメタ文字やメタキャラクターと呼びます。%は次のような使い方をします。

特殊文字
使用例意味
XX%先頭がXXで始まる
%XX最後がXXで終わる
%XX%XXを含む

範囲を指定して情報を抽出する(BETWEEN)

数値などの範囲を指定して抽出する方法は2つあります。BETWEENを使う方法とINを使う方法です。それぞれの違いは次のようになります。

記述意味
BETWEEN A AND BAからBの間
IN値リストで指定された同じ値

<例題>
学籍表から、年齢が19歳から21歳までの氏名、学科、年齢と性別を表示する

学籍表(主キー:学籍番号)
学籍番号氏名性別年齢本籍学科
94001浅田 一郎21兵庫県情報
94003石田 美穂22大阪府公務員
94012上原 二郎19福岡県情報
94015江崎 優香20福岡県情報
94021大和 三郎21山口県公務員

SELECT 氏名,学科,年齢,性別 ← 表示させる列名を指定する
FROM 学籍表
WHERE 年齢 BETWEEN 19 AND 21 ← 年齢が19〜21

INを使用して記述すると、

SELECT 氏名,学科,年齢,性別 ← 表示させる列名を指定する
FROM 学籍表
WHERE 年齢 IN(19,20,21) ← 年齢が19,20,21のいずれか

実行結果
氏名学科年齢性別
浅田 一郎情報21
上原 二郎情報19
江崎 優香情報20
大和 三郎公務員21

年齢が19〜21までの氏名、学科、年齢と性別が表示されている



初詣合格祈願SQL講座ページTOPに戻る