PostgreSQL Between条件

在本节中,我们将了解PostgreSQL Between 条件的工作原理,它与 WHERE 子句一起用于从两个定义的条件之间的表中选择数据。我们还将看到带有数字和日期值的 Between 运算符以及带有Not 运算符的Between 运算符的示例。

PostgreSQL Between条件介绍

PostgreSQL Between 条件用于定义如何从特定范围内的表达式中检索值。换句话说,我们可以说Between 条件用于将一个值与一系列值进行匹配。

PostgreSQL Between 条件也称为PostgreSQL Between Operator。

PostgreSQL 条件语法

PostgreSQL中,Between Condition 可以与SELECTINSERTUPDATEDELETE命令一起使用。

expression BETWEEN value1 AND value2;   

或者

expression BETWEEN low AND high;  

如果值大于或等于(>=) value1 或低值且小于或等于(<=) value2 或高值,则表达式返回真;否则,它返回 false。

我们还可以使用大于或等于 (>=)或小于或等于 (<=)运算符重写Between 运算符,如我们在以下语法中所见:

expression >= value1 and value <= value2  

假设我们要查找超出范围的值。在这种情况下,我们可以将NOT 运算符与BETWEEN 条件连接起来,正如我们在以下语法中看到的那样:

Expression NOT BETWEEN low AND high;  

下面的语法等同于上面的语法,它使用了 NOT 和 BETWEEN 运算符:

Expression < low OR value > high  

在上面的语法中,我们使用了以下参数:

范围 描述
Expression 它用于定义列或字段。
value1 and value2 这些值定义了与表达式进行比较的包含范围。

PostgreSQL BETWEEN 条件示例

让我们看不同的例子来理解PostgreSQL Between Condition是如何工作的:

PostgreSQL Between 条件示例:带有数值

在下面的示例中,我们将展示如何使用带有数值的 BETWEEN 条件。

为此,我们从Javatpoint数据库中获取Customer表,以获取年龄在23 到 26之间的客户。

我们在WHERE 子句中使用Between 运算符,如下面的命令所示:

SELECT cust_id, cust_name, Cust_age  
FROM customer  
WHERE cust_age BETWEEN 23 AND 26  
ORDER BY cust_age DESC;  

 执行上述命令后,我们将得到以下输出:

在上面的命令中,我们还可以使用大于或等于 (>=)或小于或等于 (<=)运算符来代替BETWEEN 运算符。与上述命令相比,此命令将给出类似的结果:

SELECT cust_id, cust_name, Cust_age  
FROM customer  
WHERE cust_age >=23   
AND cust_age <=26  
ORDER BY cust_age DESC;  

上述命令执行成功后,我们会得到如下结果:

正如我们在上图中所看到的,两个输出都提供了相似的结果,但是与大于或等于 (>=)或小于或等于相比,使用PostgreSQL Between 条件使命令更易于阅读且更高效(<=) 运算符。

PostgreSQL Between 条件示例:with Date

我们将看到如何使用BETWEEN运算符中的Date值来定义 ISO 8601 格式的文字日期:YYYY-MM-DD。

在这里,我们从Javatpoint数据库中获取部门表。

在下面的示例中,我们使用Between Operator来获取在2017-10-12 到 2020-06-22之间加入特定部门的那些员工的信息。

SELECT emp_fname, dept_id, dept_name, joining_date  
FROM department  
WHERE joining_date BETWEEN '2017-10-12' AND '2020-06-22'  
ORDER BY dept_id DESC;  

成功执行上述命令后,我们将得到如下结果:

例如:如果我们在上面的命令中提供范围作为较高值(2020-06-22)和较低值(2017-10-12) :

SELECT emp_fname, dept_id, dept_name, joining_date  
FROM department  
WHERE joining_date BETWEEN '2020-06-22' AND '2017-10-12'  
ORDER BY dept_id DESC;  

执行上述命令后,我们将得到空表:

在 PostgreSQL 中,我们还可以使用大于或等于 (>=)或小于或等于 (<=)运算符来代替BETWEEN 运算符。然后该命令将给出与上述命令类似的结果:

SELECT emp_fname, dept_id, dept_name, joining_date  
FROM department  
WHERE joining_date >='2017-10-12'  
AND joining_date <='2020-06-22'  
ORDER BY dept_id DESC;  

执行上述命令后,我们将得到以下结果:

执行这两个命令后,我们可以看到,与使用大于或等于 (>=)或小于或等于 (<=)运算符的命令相比,使用Between 运算符的命令更易读且更短.

换句话说,我们可以说PostgreSQL使用Between 运算符执行命令比使用其他运算符更快。

热门文章

优秀文章