SQL NOT演算子
NOT演算子
NOT演算子は他の演算子と組み合わせて使用され、反対の結果、つまり否定の結果を返します。
以下のSELECT文では、スペイン出身ではないすべての顧客を返したいとします。
例
スペイン出身ではない顧客のみを選択します:
SELECT * FROM Customers
WHERE NOT Country = 'Spain';
上記の例では、NOT演算子が=演算子と組み合わせて使用されていますが、他の比較演算子や論理演算子とも組み合わせて使用できます。以下の例を参照してください。
構文
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;
デモデータベース
以下は例で使用される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 |
NOT LIKE
例
「A」で始まらない顧客を選択します:
SELECT * FROM Customers
WHERE CustomerName NOT LIKE 'A%';
NOT BETWEEN
例
CustomerIDが10から60の間にない顧客を選択します:
SELECT * FROM Customers
WHERE CustomerID NOT BETWEEN 10 AND 60;
NOT IN
例
パリまたはロンドン出身ではない顧客を選択します:
SELECT * FROM Customers
WHERE City NOT IN ('Paris', 'London');
NOT Greater Than
例
CustomerIDが50より大きくない顧客を選択します:
SELECT * FROM Customers
WHERE NOT CustomerID > 50;
注:同じ結果を得るには、not-greater-than演算子:>!
を使用することもできます。
NOT Less Than
例
CustomerIDが50より小さくない顧客を選択します:
SELECT * FROM Customers
WHERE NOT CustomerID < 50;
注:同じ結果を得るには、not-less-than演算子:<!
を使用することもできます。