アットウィキロゴ

DB基礎⑥(条件の指定:WHERE文).

▼条件の指定(WHERE文)▼


▼条件に比較演算子( >, <, >=, <=, =, <=>, <>, !=)を使用


SELECT フィールド名 FROM テーブル名 WHERE 条件

例:「staff」テーブルで、給与が30万以下のデータを表示せよ

  SELECT * FROM staff WHERE salary >= 300000;


▼条件を複数指定する場合(AND・OR)


   ・AND:条件1と条件2の両方に当てはまるもの
SELECT フィールド名 FROM テーブル名 WHERE 条件1 AND 条件2

   ・OR:条件1または条件2に当てはまるもの
SELECT フィールド名 FROM テーブル名 WHERE 条件1 OR 条件2


※さらに条件を追加する場合は、以下のように繰り返すことができる。
  条件1 AND 条件2 AND 条件3 AND・・・
  条件1 OR 条件2 OR 条件3 OR・・・


例①:「staff」テーブルで、給与が30万より多く、部署番号が2のデータを表示せよ。

  SELECT * FROM staff WHERE salary > 300000 AND section_id = 2;


例②:「staff」テーブルで、給与が30万より多い、もしくは、部署番号が2のデータを表示せよ。

  SELECT * FROM staff WHERE salary > 300000 OR section_id = 2;


▼範囲指定①(IN ())※ORとほぼ同じ意味


   ・対象のフィールドが、条件1,条件2,条件3のどれかに当てはまるもの
SELECT フィールド名 FROM テーブル名 WHERE 対象のフィールド IN (条件1,条件2,条件3);

例:給与が20万、30万、35万のいづれかに当てはまるデータを表示せよ。

  SELECT * FROM staff WHERE salary IN (300000,200000,350000);


▼範囲指定②(BETWEEN - AND -)


   ・対象のフィールドが、条件1~条件2の間で当てはまるデータを表示
SELECT フィールド名 FROM テーブル名 WHERE 対象のフィールド BETWEEN 条件1 AND 条件2;

例:「staff」テーブルで、給与が20万から35万のデータを表示せよ。

  SELECT * FROM staff WHERE salary BETWEEN 200000 AND 350000;


 ※NOTで打ち消しの文を作ることができる。
   ・対象のフィールドが、条件1~条件2の間に当てはまらないデータを表示
SELECT フィールド名 FROM テーブル名 WHERE 対象のフィールド NOT BETWEEN 条件1 AND 条件2;

例:「staff」テーブルで、給与が20万から35万以外のデータを表示せよ。

  SELECT * FROM staff WHERE salary NOT BETWEEN 200000 AND 350000;


▼一致条件(LIKE %, a%, %a, %a% )

   ・対象のフィールドに文字(漢字、かな、カナ、ローマ字)が含まれているデータを表示(ワイルドカード)
SELECT フィールド名 FROM テーブル名 WHERE 対象のフィールド LIKE '%';

   ・対象のフィールドが「あ」からはじまるデータを表示(前方一致)
SELECT フィールド名 FROM テーブル名 WHERE 対象のフィールド LIKE 'あ%';

   ・対象のフィールドの末尾が「あ」のデータを表示(後方一致)
SELECT フィールド名 FROM テーブル名 WHERE 対象のフィールド LIKE '%あ';

   ・対象のフィールドに「あ」が含まれているものを表示(あいまい一致)
SELECT フィールド名 FROM テーブル名 WHERE 対象のフィールド LIKE '%あ%';

例:「staff」テーブルで、名前に「下」という文字が入っているデータを表示せよ。
  SELECT * FROM staff WHERE name LIKE '%下%';


▼NULL条件(WHERE - NULL)

   ※NULLを使う場合は、比較演算子を使えない。

   ・対象のフィールド名がNULLのデータを表示せよ
	SELECT 表示したいフィールド名 FROM テーブル名 WHERE 対象のフィールド名 IS NULL;


   ・対象のフィールド名がNULLでないデータを表示せよ
	SELECT 表示したいフィールド名 FROM テーブル名 WHERE 対象のフィールド名 IS NULL;

   ※WHEREの条件にNULLを指定することもできる。また、NOTで打ち消しの内容を指定することもできる。


例:「staff」テーブルで、「kana」フィールドがNULLのデータを表示せよ。
SELECT * FROM staff WHERE kana IS NULL;


例:「staff」テーブルで、「kana」フィールドがNULLでないデータを表示せよ。
SELECT * FROM staff WHERE kana IS NOT NULL;








最終更新:2012年01月19日 23:20
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。