今回も前回に引き続き、SQLにおいて抽出する条件を指定する演算子についてです。今回は、BETWEEN演算子・IN演算子・LIKE演算子の3つを紹介します。
頻出演算子について
userテーブル
| Id | name | class | height |
| 1 | 山田 | A | 165 |
| 2 | 田中 | B | 171 |
| 3 | 佐藤 | A | 180 |
BETWEEN演算子
BETWEEN演算子はWHERE句で使用します。カラム名 BETWEEN 下限値 AND 上限値 と記述し、範囲を指定することができます。WHERE句の中で下記の様に記載します。
SQL
SELECT
name
FROM
user
WHERE
height
BETWEEN 160 AND 175抽出結果
SQL
山田
田中IN演算子
IN演算子は、引数として渡した値のリストのいずれかと一致しているかどうかを条件にしたい際に用いいます。
SQL
SELECT
name
FROM
user
WHERE
name IN ('田');抽出結果
SQL
山田
田中LIKE演算子
LIKE演算子は、対象の文字列が指定したパターンに一致しているかどうかという条件にしたい際に用います。%の位置により文字列の指定パターンが変わります。
SQL
SELECT
name
FROM
user
WHERE
name
like '%田%';
/*
"%文字列%"でどこに含まれていても抽出する中間一致
"%文字列"で文字列で終わるものを抽出する後方一致
"文字列%"で文字列で始まるものを抽出する前方一致
*/抽出結果
SQL
山田
田中例題
下記コードにて抽出されるデータは下記のどれか
SQL
SELECT
name
FROM
user
WHERE
name
like '田%';- 山田
- 田中
- 山田田中
- 佐藤
回答
2. 田中
“田%”は”田”で始まるものを抽出するため。
