(NOT) BETWEEN 運算子 (SQL (NOT) BETWEEN Operator)

不同於 IN 運算子是依不連續的值作為 WHERE 查詢子句的篩選條件,BETWEEN 則是用來限定依某範圍內連續的值作為條件來搜尋資料表中的特定資料。

作為查詢範圍條件的欄位型態可為數值、日期或字串,其中字串是依照字母排列順序來界定範圍。

BETWEEN 語法 (SQL BETWEEN Syntax)

SELECT table_column1, table_column2, table_column3...
FROM table_name
WHERE column_name
BETWEEN value1 AND value2;

BETWEEN 的頭和尾的值都會被包含進去。

BETWEEN 運算子查詢用法 (Example)

假設我們想從下面的 customers 資料表中查詢訂單數量介於 1000~4000 的顧客資料:

C_IdNameCityAddressPhoneQuantity
1張一台北市XX路100號02-123456781000
2王二新竹縣YY路200號03-123456783000
3李三高雄縣ZZ路300號07-123456785000

我們可以這樣作 SQL 查詢:

SELECT * FROM customers
WHERE Quantity
BETWEEN 1000 AND 4000;

查詢後返回的結果會是:

C_IdNameCityAddressPhoneQuantity
1張一台北市XX路100號02-123456781000
2王二新竹縣YY路200號03-123456783000

NOT BETWEEN

相反的,NOT BETWEEN 就是不包含在這範圍裡的的資料我通通要了,如上例多加上 NOT:

SELECT * FROM customers
WHERE Quantity
NOT BETWEEN 1000 AND 4000;

查詢後返回的結果會是:

C_IdNameCityAddressPhoneQuantity
3李三高雄縣ZZ路300號07-123456785000