MYSQL のメモ (Like で検索)

今回は。LIKE で検索するときのメモ
select * from my_items where keyword like ‘%甘い%’;
このように %で囲むと一致するキーワードで検索します
select * from my_items where keyword like ‘%甘い’;
だと、最初に
甘いとなっている部分しか検索できないので注意
あと、AND検索で
select * from my_items where price>=50 AND price<150; ならOK で select * from my_items where price=>50 AND price<150; だとNG ちょっとした違いだけど、はまりました あと ちょっと複雑なのとして SELECT * FROM `my_items` WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%甘い%'; これは IDが1または3 150円未満で 甘いが含まれる商品 と言う意味です ちょっと複雑に見えますが Linux でシェルスクリプトとか コマンドのパイプを使っていろいろとやっている人には 見慣れた光景かも.... 注意事項として OR と AND を混ぜるときには ()で囲わないと、全然違う意味になるようです SELECT * FROM `my_items` WHERE id=1 OR id=3 AND price<150 AND keyword LIKE '%甘い%'; とすると id=1 OR id=3 AND price<150 AND keyword LIKE '%甘い%' という意味になります もし、これの意味を id=1 もしくは id=3 としたいのなら
SELECT * FROM `my_items` WHERE (id=1 OR id=3) AND price<150 AND keyword LIKE '%甘い%'; というように ()で囲むようにします

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です