SQL WHERE
WHERE句はレコードをフィルタリングするために使用されます。
指定された条件を満たすレコードのみを抽出するために使用されます。
例
メキシコのすべての顧客を選択します:
SELECT * FROM Customers
WHERE Country='Mexico';
構文
SELECT column1, column2, ...
FROM table_name
WHERE condition;
注:WHERE句はSELECT文だけでなく、UPDATEやDELETEなどでも使用されます!
デモデータベース
以下は例で使用されるCustomersテーブルからの一部です:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
テキストフィールドと数値フィールド
SQLではテキスト値をシングルクォートで囲む必要があります(ほとんどのデータベースシステムではダブルクォートも許可されます)。
ただし、数値フィールドはクォートで囲むべきではありません:
例
SELECT * FROM Customers
WHERE CustomerID=1;
WHERE句の演算子
検索をフィルタリングするために=演算子以外の演算子を使用することができます。
例
CustomerIDが80より大きいすべての顧客を選択します:
SELECT * FROM Customers
WHERE CustomerID > 80;
WHERE句で使用できる演算子は次の通りです:
演算子 | 説明 |
---|---|
= | 等しい |
> | より大きい |
< | より小さい |
>= | 以上 |
<= | 以下 |
<> | 等しくない。注:SQLのいくつかのバージョンではこの演算子は!=として記述される場合があります |
BETWEEN | 特定の範囲内 |
LIKE | パターン検索 |
IN | 列に対して複数の可能な値を指定する |