SQL BETWEEN 查询范围

时间:2018-11-15 17:42:40  来源:igfitidea点击:

使用SQL BETWEEN操作符选择值在一定范围内的数据。

在WHERE子句中使用BETWEEN操作符来选择值范围内的数据。
我们经常在SELECT、UPDATE和DELETE语句的WHERE子句中使用BETWEEN操作符。

下面举例说明如何使用BETWEEN运算符:

SELECT 
    column_1, column_2
FROM
    table
WHERE
    (expr | column) BETWEEN lower_value AND upper_value;

如果WHERE子句中指定的列的表达式或值的结果,大于等于lower_value,并且小于等于upper_value,则BETWEEN运算符返回TRUE。否则,返回FALSE。

如果您将NULL值传递给BETWEEN操作符,例如expr、lower_value或upper_value, BETWEEN操作符将返回NULL。

SQL BETWEEN 操作符示例

让我们看一些使用BETWEEN操作符的例子。

查询数值范围的SQL BETWEEN例子

下面的查询将选择单价从10到19的产品:

SELECT 
    productid, listprice
FROM
    item
WHERE
    listprice BETWEEN 10 AND 19;

等同于:

SELECT 
    productid, listprice
FROM
    item
WHERE
    listprice >= 10 AND listprice <= 19;

查询日期范围的SQL BETWEEN例子

使用BETWEEN操作符来选择出生于1948年1月1日至1960年1月1日之间的雇员,如下所示:

SELECT 
    lastname, firstname, birthdate
FROM
    employees
WHERE
    birthdate BETWEEN '1948-01-01' AND '1960-01-01';

和 NOT 一起使用的SQL BETWEEN例子

可以将BETWEEN运算符与NOT运算符组合使用,以查找出列值不在范围内的行。

例如,要查找单价不在$10和$19之间的产品,可以使用BETWEEN操作符和NOT操作符,如下所示:

SELECT 
    productid, listprice
FROM
    item
WHERE
    listprice NOT BETWEEN 10 AND 19;

等同于:

SELECT 
    productName, unitPrice
FROM
    products
WHERE
    unitPrice < 10 OR unitPrice > 19;