mysql メモ 条件付きでの抽出その1
これまで、レコードを抽出する方法を見たが、実際はアプリなどを作っているときは、条件付きで抽出したい場合がほとんどです。
例えば、score が5以上とか 6月以降に登録した人などなど
ここではwhereという命令を使う。
select * from users where score >= 5.0;
scoreが5,0以上というのは >=この演算子 「以上」を使う。
これ以上とか以下とかは不等号を使って表す。
等しい場合は「=」イコール
「=」の否定には 「!=」 または 「<>」とする
文字列にも条件がつかえて、例えば、チームがredじゃない人を引っ張ってきてほしいばあいは
select * from users where team <> 'red';
このようにred 「<>」じゃない って感じに書いていきます。
日付に対しても条件が使える。
select * from users where created <> '2011-06-01 11:00:00';
dotinstall.comを持っている人をもってきたい。
ちょっと曖昧な検索をします。
そういうときはlikeを使います。
likeは2つほど記号が使えるのですが、一つは%
任意の文字列なので、何字でもかまいません。
select * from users where email like '%@dotinstall.com';
%は「〜」の意味で、何かの文字が来て、そのあとに@dotinstall.com’が来る。というときに%をつかいます。
%だけでなく「 _ 」もあって、これは任意の1文字がになる。
select * from users where email like '%@dotinstall.__';
こうすると「 - 」が二つあるのでdotinstallのあとに2文字だけ来るものを引っ張ってきなさい。という命令になる。