【SQL】比較演算子で条件を指定して値を取得する~select where~

MySQL

条件を指定してデータを取得する方法について紹介していきます

条件を指定する方法

特定のデータを取得したいときには『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 比較演算子の種類(応用)

複数条件の指定や、より詳細な条件を付けたいときに利用できる比較演算子

演算子説明使い方
ANDA かつ Bprice > 1000 AND price < 1500
(1000以上、1500以下)
ORA または B price = 1000 OR price = 1500
(1000または1500)
BETWEEN a AND bA 以上 A 以下price BETWEEN 1000 AND 1500
(1000以上、1500以下)
IN指定した値のいずれかを含むprice IN (1000, 1500)
LIKEワイルドカード(%、_)を利用して指定の値を含む

%(パーセント) 意味 : 0文字以上の文字列
_ (アンダーバー) 意味:1文字
名前 LIKE ‘犬%’ (犬を含む文字列)

名前 LIKE ‘柴_’ (柴+1文字)
IS NULLNULL値のフィールドprice IS NULL
IS NOT NULL値のあるフィールドprice IS NOT NULL
タイトルとURLをコピーしました