前書き
RDB環境: MySQL 5.6.50
GUIツール: Sequel Pro
テーブル: users, shifts(seedファイルで予め用意した情報を読み込み済)
users
カラム名 | 内容 |
---|---|
family_name | 苗字 |
first_name | 名前 |
age | 年齢 |
prefecture | 出身地 |
検索方法
テーブルの全てのデータを検索する
クエリ
SELECT * FROM users
条件にあったデータを取得する
- WHERE
取得するレコードの条件を指定する。
クエリ
SELECT *
FROM users
WHERE family_name = "阿部"
- LIKE
文字列検索を可能にする。
曖昧検索には%を使う。
クエリ
SELECT *
FROM users
WHERE prefecture LIKE '%都'
- AND
複数の条件を組み合わせる。
全ての条件を満たせばtrueとなる。
クエリ
SELECT *
FROM users
WHERE prefecture LIKE '%都' AND age = 22
- OR
複数の条件のうちいずれかを満たせばtrueとなる。
クエリ
SELECT *
FROM users
WHERE age <= 20 OR prefecture = "東京都"
- NOT
条件に当てはまらないデータを取得する。
クエリ
SELECT *
FROM users
WHERE NOT prefecture = "東京都"
- BETWEEN
範囲指定した条件にあったデータを取得する。
クエリ
SELECT *
FROM users
WHERE age BETWEEN 21 AND 24
- IN
特定の条件が含まれるデータを取得する。
クエリ
SELECT *
FROM users
WHERE prefecture IN ("東京都", "神奈川県")
要点整理
- WHEREとは、取得するデータを「条件」によって制限できる.
- LIKEとは、文字列検索を行う際に使用できる句のこと。
- AND演算子とは、複数の条件がすべて正しい場合に、正とすることができる演算子。
- OR演算子とは、複数の条件のうち、1つ以上を満たしたデータを取得する演算子。
- NOT演算子とは、条件が正しくない場合に正となり、言わば否定形の演算子。
- BETWEEN演算子とは、上限と下限を設定し、その範囲に含まれる場合は正となる演算子。
- IN演算子とは、1つのカラムに対しリストを指定して、カラムの値がそのリストに含まれるとき、その式は正になるという演算子。