fc2ブログ

条件で検索

  • Posted by: servletmania
  • 2010-12-28 Tue 13:11:09
  • SQL




前回、すべてのデータを取り出すときは、

select * from account;

のように書き、特定の列を取り出すときは、

select name,money from account;

のように書くことを勉強しました。

このように、データベースから検索を行うときはSELECT文を使います。

今回は、より高度な検索方法を学びます。


[ where ]

たとえば、膨大なデータベースから太郎さんのデータを取り出したいときは、

select * from account where name='太郎';

というふうに、whereを使います。

実行結果
where1


[ 比較演算子 ]

たとえば、お金を1500円以上持っている人を検索したいときは、以上
  >=
の比較演算子を使います。

select * from account where money>=1500;


実行結果
比較1

比較演算子一覧
= 等しい>= 以上> より大きい
<> 等しくない< より小さい<= 以下



[ between ]

範囲指定をして検索するときはbetweenを使います。1000円から2000円の間でお金を持っている人を検索。

select * from account
where money between 1000 and 2000;


検索結果
between1


[ in ]

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

select * from account
where name in('次郎','三郎');


検索結果
in1


[ and , or ]

これまでは「name」「money」のような1項目ずつの検索でしたが、論理演算子のand,orでは複数の項目の条件検索も可能です。

たとえば、名前が「太郎」、かつ、マネーが2000円以下で検索。

select * from account
where name='太郎' and money < 3000;


検索結果
and1

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

select * from account
where name='太郎' or money < 3000;


検索結果
or1


[ like ]

部分一致指定はlikeで行います。ちなみに部分一致していないものは、not likeです。

likeを利用するときは%を使います。

likeの使い方



一致する文字列の例
前方一致太%太郎
後方一致%郎太郎
部分一致%太郎%一太郎丸


「なんとか郎」さんを検索します。

select * from account
where name like '%郎';


検索結果
like1

スポンサーサイト



タグ :

Return to page top

Comments:

Comment Form
Only inform the site author.

Trackback+Pingback:

TrackBack URL for this entry
http://servletmania.blog137.fc2.com/tb.php/30-79140b00
月別アーカイブ
カテゴリ
リンク
RSSリンクの表示
QRコード
QR