範囲検索条件
範囲検索では、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