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

広告
eyecatch

テーブルからデータを取得するときに WHERE 句を使用することで取得するデータに条件を設定することができます。ここでは WHERE 句を使ってデータを取得する条件を設定する方法について解説します。

WHERE句の使い方

SELECT コマンドを使ってデータを取得する時に、 WHERE 句を設定することで取得するデータに条件を設定できます。書式は次のとおりです。

SELECT expression [, ...]
    FROM table_name WHERE condition

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

例えば次のように使います。

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

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

-- --

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

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

WHERE句の使い方(1)

作成したテーブルに次のようなデータを格納しておきます。

insert into myschema.friends values
  ('Nakayama', 38, 'Osaka'),
  ('Sugita', 19, 'Tokyo'),
  ('Takahashi', 26, 'Chiba'),
  ('Furuta', 18, 'Osaka');

WHERE句の使い方(2)

最初に条件を設定せずにすべてのデータを取得してみます。

select * from myschema.friends;

WHERE句の使い方(3)

それでは条件を設定してみます。 old カラムが 20 よりも大きいデータだけを取得します。次のように WHERE 句を記述しました。

select * from myschema.friends
  where old > 20;

WHERE句の使い方(4)

old カラムの値が 20 よりも大きいデータだけを取得することができました。

次に address カラムの値が 'Tokyo' か ’Chiba' のデータを取得します。次のように WHERE 句を記述しました。

select * from myschema.friends
  where address = 'Tokyo' or address = 'Chiba';

WHERE句の使い方(5)

address カラムの値が 'Tokyo' か 'Chiba' のデータだけを取得することができました。

-- --

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

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

( Written by Tatsuo Ikura )

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

著者 / TATSUO IKURA

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