SQL(Structured Query Language)は、データベースと対話するための強力なツールです。その中でもWHERE
句は、特定の条件に基づいてデータをフィルタリングするための重要な機能です。この記事では、SQLのWHERE
句の基本を初心者向けにわかりやすく解説します。
1.WHERE句とは?
WHERE句は、SQLのSELECT文、UPDATE文、DELETE文などで使用され、特定の条件に一致する行を指定します。これにより、必要なデータだけを効率的に抽出できます。
2.WHERE句の基本構文
WHERE句の基本的な構文は以下の通りです:
SELECT 列名1, 列名2, …
FROM テーブル名
WHERE 条件;
例えば、employeesテーブルから名前が「John」の従業員を選択する場合のクエリは次のようになります
SELECT * FROM employees
WHERE first_name = 'John';
3.条件式の使用例
WHERE句では、様々な条件式を使用できます。以下に一般的な例をいくつか紹介します。
3.1 比較演算子
- =: 等しい
- != または <>: 等しくない
- : より大きい
- <: より小さい
- =: 以上
- <=: 以下
SELECT * FROM employees
WHERE age > 30;
3.2 論理演算子
- AND: すべての条件が真
- OR: いずれかの条件が真
- NOT: 条件が偽
SELECT * FROM employees
WHERE age > 30 AND department = 'Sales';
3.3 LIKE演算子
パターンマッチングに使用され、%(任意の文字列)や _(任意の単一文字)を使用します。
sqlコードをコピーするSELECT * FROM employees
WHERE first_name LIKE 'J%';
3.4 IN演算子
指定した複数の値のいずれかに一致する場合に使用します。
sqlコードをコピーするSELECT * FROM employees
WHERE department IN ('Sales', 'Marketing');
3.5 BETWEEN演算子
指定した範囲内の値を選択します。
sqlコードをコピーするSELECT * FROM employees
WHERE age BETWEEN 30 AND 40;
4. NULL値の扱い
NULLは値が存在しないことを意味します。WHERE句でNULLをチェックするには、IS NULLまたはIS NOT NULLを使用します。
SELECT * FROM employees
WHERE manager_id IS NULL;
5. 実践例
以下に、employeesテーブルを例にしたいくつかのクエリを示します。
-- 年齢が40以上の従業員を選択
SELECT * FROM employees
WHERE age >= 40;
-- 部署が'Sales'か'Marketing'の従業員を選択
SELECT * FROM employees
WHERE department IN ('Sales', 'Marketing');
-- 名前が'J'で始まる従業員を選択
SELECT * FROM employees
WHERE first_name LIKE 'J%';
-- マネージャーがいない従業員を選択
SELECT * FROM employees
WHERE manager_id IS NULL;
6. まとめ
WHERE句は、SQLの基本かつ強力な機能で、特定の条件に基づいてデータをフィルタリングするために使用されます。この記事で紹介した基本的な使い方を理解することで、効率的にデータを操作できるようになります。次回のクエリ作成時には、WHERE句を駆使して必要なデータを正確に抽出しましょう。