SQL BETWEEN 查询范围


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

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

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

1
2
3
4
5
6
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的产品:

1
2
3
4
5
6
SELECT
productid, listprice
FROM
item
WHERE
listprice BETWEEN 10 AND 19;

等同于:

1
2
3
4
5
6
SELECT
productid, listprice
FROM
item
WHERE
listprice >= 10 AND listprice <= 19;

查询日期范围的SQL BETWEEN例子

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

1
2
3
4
5
6
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操作符,如下所示:

1
2
3
4
5
6
SELECT
productid, listprice
FROM
item
WHERE
listprice NOT BETWEEN 10 AND 19;

等同于:

1
2
3
4
5
6
SELECT
productName, unitPrice
FROM
products
WHERE
unitPrice < 10 OR unitPrice > 19;


原文链接:https://codingdict.com/