条件で検索
- 2010-12-28 Tue 13:11:09
- SQL
前回、すべてのデータを取り出すときは、
のように書き、特定の列を取り出すときは、select * from account;
のように書くことを勉強しました。select name,money from account;
このように、データベースから検索を行うときはSELECT文を使います。
今回は、より高度な検索方法を学びます。
[ where ]
たとえば、膨大なデータベースから太郎さんのデータを取り出したいときは、
というふうに、whereを使います。select * from account where name='太郎';
実行結果

[ 比較演算子 ]
たとえば、お金を1500円以上持っている人を検索したいときは、以上
>=
の比較演算子を使います。
select * from account where money>=1500;
実行結果

比較演算子一覧
= 等しい | >= 以上 | > より大きい |
<> 等しくない | < より小さい | <= 以下 |
[ between ]
範囲指定をして検索するときはbetweenを使います。1000円から2000円の間でお金を持っている人を検索。
検索結果

[ in ]
複数条件を指定するときは、in演算子を使います。名前が「次郎」と「三郎」を検索。
検索結果

[ and , or ]
これまでは「name」「money」のような1項目ずつの検索でしたが、論理演算子のand,orでは複数の項目の条件検索も可能です。
たとえば、名前が「太郎」、かつ、マネーが2000円以下で検索。
検索結果

たとえば、名前が「太郎」、または、マネーが2000円以下で検索。
検索結果

[ like ]
部分一致指定はlikeで行います。ちなみに部分一致していないものは、not likeです。
likeを利用するときは%を使います。
likeの使い方
「なんとか郎」さんを検索します。
検索結果

範囲指定をして検索するときはbetweenを使います。1000円から2000円の間でお金を持っている人を検索。
select * from account
where money between 1000 and 2000;
検索結果

[ in ]
複数条件を指定するときは、in演算子を使います。名前が「次郎」と「三郎」を検索。
select * from account
where name in('次郎','三郎');
検索結果

[ and , or ]
これまでは「name」「money」のような1項目ずつの検索でしたが、論理演算子のand,orでは複数の項目の条件検索も可能です。
たとえば、名前が「太郎」、かつ、マネーが2000円以下で検索。
select * from account
where name='太郎' and money < 3000;
検索結果

たとえば、名前が「太郎」、または、マネーが2000円以下で検索。
select * from account
where name='太郎' or money < 3000;
検索結果

[ like ]
部分一致指定はlikeで行います。ちなみに部分一致していないものは、not likeです。
likeを利用するときは%を使います。
likeの使い方
例 | 一致する文字列の例 | |
---|---|---|
前方一致 | 太% | 太郎 |
後方一致 | %郎 | 太郎 |
部分一致 | %太郎% | 一太郎丸 |
「なんとか郎」さんを検索します。
select * from account
where name like '%郎';
検索結果

スポンサーサイト
タグ :
Comments: