SQL 速習チュートリアル

SQL ALL 演算子

1. SQL ALL 演算子

ALL 演算子は、ある値をサブクエリ(サブクエリ)によって返されたすべての値と比較するために使用されます。

ALL 演算子は、サブクエリのリザルトセット(結果セット)に含まれるすべての値が条件を満たす場合にのみ TRUE と評価されます。

この演算子は、通常 WHERE 文や HAVING 文とともに使用されます。

2. ALL の構文

SELECT カラム名(s)
FROM テーブル名
WHERE カラム名 演算子 ALL (サブクエリ);

       注意:演算子 は、標準的な比較演算子(=<>!=>>=<、または <=)である必要があります。

3. デモ用データベース

以下は、Northwind サンプルデータベースの「Products(製品)」テーブルからの抜粋です。

ProductID ProductName Price
1Chais18.00
2Chang19.00
3Aniseed Syrup10.00
4Chef Anton's Cajun Seasoning22.00

こちらは「OrderDetails(注文詳細)」テーブルの抜粋です。

OrderDetailID ProductIDQuantity
11112
24210
3725
4149

4. SQL ALL の使用例

次の SQL は、「OrderDetails」テーブル内のすべてのレコードにおいて Quantity(数量)が 10 に等しい場合に、ProductName(製品名)を返します。

当然ながら、Quantity カラムには(10 以外の)多くの異なる値が含まれているため、このクエリは FALSE を返します。

実行例:

SELECT ProductName
FROM Products
WHERE ProductID = ALL (
  SELECT ProductID
  FROM OrderDetails
  WHERE Quantity = 10
);