条件を指定してデータを取得する方法について紹介していきます
条件を指定する方法
特定のデータを取得したいときには『where』を使うことで取得するデータを抽出する条件を付けることができます。
なにも条件を指定しない場合
条件を指定しないselect文
select * from products;
コードの見方
出力結果
+----+-----------------+-------+
| id | name | price |
+----+-----------------+-------+
| 1 | ドックフード001 | 1000 |
| 2 | ドックフード002 | 2000 |
| 3 | ドックフード003 | 1500 |
| 4 | ドックフード004 | 1800 |
| 5 | ドックフード005 | 2500 |
+----+-----------------+-------+
5 rows in set (0.008 sec)
条件を指定せずにデータを取得すると上記のようにすべてのデータが出力されます。
今回の例ではデータ量が少ないためそれほど問題はありませんが、これが何十万という膨大なデータの入っているテーブルとなると目的のものを探すのはとても難しいです。
whereで条件を指定する
whereを使用して条件を付けるselect文
select * from products where price >= 2000;
whereを記述した後に条件を指定することができます。
今回の例では2000円以上の商品のデータを取得しています
出力結果
+----+-----------------+-------+
| id | name | price |
+----+-----------------+-------+
| 2 | ドックフード002 | 2000 |
| 5 | ドックフード005 | 2500 |
+----+-----------------+-------+
2 rows in set (0.000 sec)
2000円以上の商品を取得することができました。
補足1 比較演算子の種類(基本)
基本的な比較演算子の種類を紹介
演算子 | 説明 | 使い方 |
---|---|---|
= | 左右が等しい | price = 1000 |
> | 1000より大きい | price > 1000 |
>= | 1000以上 | price >= 1000 |
< | 1000より小さい | price < 1000 |
<= | 1000以下 | price <= 1000 |
!= | 左右が等しくない | price != 1000 |
補足2 比較演算子の種類(応用)
複数条件の指定や、より詳細な条件を付けたいときに利用できる比較演算子
演算子 | 説明 | 使い方 |
---|---|---|
AND | A かつ B | price > 1000 AND price < 1500 (1000以上、1500以下) |
OR | A または B | price = 1000 OR price = 1500 (1000または1500) |
BETWEEN a AND b | A 以上 A 以下 | price BETWEEN 1000 AND 1500 (1000以上、1500以下) |
IN | 指定した値のいずれかを含む | price IN (1000, 1500) |
LIKE | ワイルドカード(%、_)を利用して指定の値を含む %(パーセント) 意味 : 0文字以上の文字列 _ (アンダーバー) 意味:1文字 | 名前 LIKE ‘犬%’ (犬を含む文字列) 名前 LIKE ‘柴_’ (柴+1文字) |
IS NULL | NULL値のフィールド | price IS NULL |
IS NOT NULL | 値のあるフィールド | price IS NOT NULL |