WHEREで自由自在な検索術

検索の準備

  • データを挿入しおく

検索の条件

INT型に等号を使う
SELECT * FROM my_items WHERE price=180;

※これで価格が「180」円の表品だけ取り出すことができます。

「VARCHAR」「TEXT」型に等号を使う
SELECT * FROM my_items WHERE item_name='いちご';

※文字列を指定するときには、「'」で囲む。

不等号を使う
SELECT * FROM my_items WHERE price<180;

※価格が「180」円未満の商品が取り出されます。


以下のような記述ができます。

SELECT * FROM my_items WHERE price>180;

※180円より高価

SELECT * FROM my_items WHERE price<=180;

※180円以下

SELECT * FROM my_items WHERE price>=180;

※180円以上

SELECT * FROM my_items WHERE id<>1;

※IDが1以外

部分検索 LIKE

前後を曖昧にした部分検索
  • 「甘い」というキーワードが含まれた商品のみ抜き出す
SELECT * FROM my_items WHERE keyword LIKE '%甘い%';

後ろのみを曖昧にした検索(前方一致)
  • 先頭が「赤い」というキーワードが含まれた商品のみ抜き出す
SELECT * FROM my_items WHERE keyword LIKE '赤い%';

複数の条件を組み合わせる AND・OR

複数の条件をすべて満たすデータの検索
  • 価格が「50」円以上で、「150」円未満の商品を検索
SELECT * FROM my_items WHERE price>=50 AND price<150;
複数の条件のどれかを満たすデータの検索
  • IDが「1と3」の商品を検索
SELECT * FROM my_items WHERE id=1 OR id=3;
複雑な条件での検索
  • IDが「1または3」で、「150」円未満でかつキーワードに「甘い」が含まれる商品を検索
SELECT * FROM my_items WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%甘い%';