検索条件の設定

広告

SELECT文を使ってデータを取得する時、全てのデータを取得するのではなく条件を満たすデータだけを取得することができます。次の書式を使います。

SELECT col_name, ... FROM tbl_name WHERE where_condition;

条件には演算子や関数などを使って式を記述します。そしてデータ毎に式を評価し結果がTRUEのものだけを取得します。(MySQLで利用可能な演算子は「MySQLの基本構文」を参照して下さい)。

[例1] branchカラムの値が'Tokyo'のデータだけを取得
  SELECT * FROM uriage WHERE branch = 'Tokyo';

[例2] addressカラムの値が'Osaka'で且つoldカラムの値が20以上のデータだけを取得
  SELECT * FROM personal WHERE address = 'Osaka' AND old >= 20;

なおAS句を使って別名として付けられたカラム名はWHERE句の中では使用できませんので注意して下さい。

サンプル

実際に試してみます。まず次のようなテーブルを作成します。

mysql> create table products(name varchar(20), price int, releasedate date);

p4-1

テーブルには次のようなデータを追加してあります。

p4-2

では「releasedate」カラムの値が'2009-01-01'以降のデータだけを取得します。

mysql> select * from products where releasedate >= '2009-01-01';

p4-3

続いて「price」カラムの値が10,000以上30,000未満のデータを取得します。

mysql> select * from products where price >= 10000 and price <= 30000;

p4-4

このようにWHERE句で指定した条件に適合するデータだけを取得することができました。

( Written by Tatsuo Ikura )