取り出す・絞り込む

INPUT · スライド

条件を組み合わせる

01 / 05

条件がひとつでは足りない

「わがしで、しかも180円以下」のように、ほしい条件は2つ以上あることが多い。

WHERE に書ける条件はひとつだけ……ではなくて、つなぎ言葉を使えばいくつでも並べられるよ。

02 / 05

`AND` は「かつ」

条件A AND 条件B は、両方とも成り立つ行だけを返す。

条件を足すほど当たる行は減っていく。ふるいを重ねていくイメージだよ。

SELECT * FROM sweets  WHERE kind = 'わがし'  AND price <= 180;

実行結果

1 | いちご大福 | 180 | わがし | 210
3 | みたらしだんご | 150 | わがし | 160

03 / 05

`OR` は「または」

条件A OR 条件B は、どちらか一方でも成り立てば返ってくる。

AND とは逆に、条件を足すほど当たる行は増えていくよ。

SELECT name, price FROM sweets  WHERE price < 200  OR price > 400;

実行結果

いちご大福 | 180
チョコケーキ | 420
みたらしだんご | 150

04 / 05

同じカラムを2回使える

「200円以上300円以下」のような範囲は、同じカラムの条件を AND でつないで作るよ。

下限と上限を別々の条件として書くのがコツ。1つの条件では書けないんだ。

SELECT name, price FROM sweets  WHERE price >= 200  AND price <= 300;

実行結果

プリン | 260
どらやき | 200
シュークリーム | 240

05 / 05

まぜるときはかっこ

ANDOR を1つのクエリにまぜるときは、先にまとめたいほうをかっこで囲む

囲まないと思ったのと違う組み合わせで判定されることがあるよ。迷ったら囲んでおこう。ここから書いてみよう。

SELECT name FROM sweets  WHERE (kind = 'わがし' OR kind = 'ようがし')  AND price <= 200;

実行結果

いちご大福
みたらしだんご
どらやき