▼条件の指定(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