条件を指定してデータを取得する方法について紹介していきます
条件を指定する方法
特定のデータを取得したいときには『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 |

