範囲検索条件

範囲検索では、2 つの指定した値の間に含まれるすべての値が返されます。両端を含む検索範囲では、指定した 2 つの値に一致する値も返されます。両端を含まない検索範囲では、指定した 2 つの値に一致する値は返されません。

BETWEEN キーワードは、両端を含む検索範囲を指定します。たとえば、次の SELECT により、表示価格が 15 ~ 25 ドルのすべての製品が返されます。

USE AdventureWorks2008R2;
GO
SELECT ProductID, Name
FROM AdventureWorks2008R2.Production.Product 
WHERE ListPrice BETWEEN 15 AND 25

次の SELECT ステートメントの結果には、表示価格が 15 ドルまたは 25 ドルのいずれかの製品が含まれます。

SELECT ProductID, Name
FROM AdventureWorks2008R2.Production.Product 
WHERE ListPrice = 15 OR ListPrice = 25

両端を除いた範囲を指定するには、より大きいとより小さいを意味する演算子 (> と <) を使ってください。次のクエリは、より大きいとより小さいを意味する演算子を使用していますが、前の例とは異なる結果になります。これらの演算子では、範囲を指定する値に一致する行が含まれないためです。

SELECT ProductID, Name
FROM AdventureWorks2008R2.Production.Product 
WHERE ListPrice > 15 AND ListPrice < 25

NOT BETWEEN では、指定する範囲外のすべての行が検索されます。次のクエリでは、在庫数が 15 ~ 25 の範囲にない製品がすべて検索されます。

SELECT ProductID, Name
FROM AdventureWorks2008R2.Production.Product 
WHERE ListPrice NOT BETWEEN 15 AND 25