データを取得する条件を設定する(WHERE句)

広告
eyecatch

WHERE 句を使用することで SELECT 文を使ってデータを取得する時に、取得するデータの条件を設定することができます。ここでは WHERE 句を使ったデータ取得の時の条件を設定する方法について解説します。

データを取得する条件を設定する

WHERE 句を使用すると SELECT 文を使ってデータを取得する時に、取得するデータの条件を設定することができます。書式は次の通りです。

SELECT col_name1 [, col_name2 ...] FROM table_name
  WHERE where_condition

WHERE 句が記述されている場合、データを 1 件取得しようとするたびに条件式( where_condition )を評価して、結果が TRUE となった場合にデータを取得します。条件式にはカラム名と演算子や関数などを記述することができます。

使い方は次のとおりです。

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

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

なお AS 句を使って別名として付けられたカラム名は WHERE 句の中では使用できませんので注意して下さい。( AS 句については「カラムに別名を付ける(AS句)」を参照されてください)。

-- --

それでは実際に試してみます。次のようなテーブルを作成しました。

create table friends (name varchar(10), old int, address varchar(10));

データを取得する条件を設定する(1)

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

insert into friends values ('Yamada', 34, 'Tokyo');
insert into friends values ('Suzuki', 26, 'Tokyo');
insert into friends values ('Mori', 22, 'Osaka');
insert into friends values ('Kudou', 30, 'Tokyo');
insert into friends values ('Sasaki', 28, 'Osaka');

データを取得する条件を設定する(2)

最初に WHERE 句を指定せずにデータを取得します。この場合すべてのデータを取得します。

select * from friends;

データを取得する条件を設定する(3)

それでは WHERE 句を使って条件を設定します。最初は address カラムの値が 'Tokyo' のデータを取得します。

select * from friends where address='Tokyo';

データを取得する条件を設定する(4)

次に old カラムの値が 30 より小さいデータを取得します。

select * from friends where old<30;

データを取得する条件を設定する(5)

最後に address カラムの値が 'Tokyo' で且つ old カラムの値が 30 以上のデータを取得します。

select * from friends where address='Tokyo' and old>=30;

データを取得する条件を設定する(6)

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

-- --

WHERE 句を使って SELECT 文でデータを取得する時の条件を設定する方法について解説しました。

MySQLの使い方の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。