PostgreSQL Between Condition


PostgreSQL Between Condition

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

PostgreSQL Between的条件介绍

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

Between Condition的PostgreSQL也被称为PostgreSQL的运营商之间

Between Condition的 PostgreSQL 语法

在PostgreSQL 中,条件Between可以与SELECT、INSERT、UPDATE和DELETE命令一起使用。

expression BETWEEN value1 AND value2;

OR

expression BETWEEN low AND high;

表达式返回如果该值大于或等于(> =),以数值1或低值小于或等于(<=)到值2或高值; 否则,它返回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 条件。

为此,我们从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 Condition的PostgreSQL

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

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

输出

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

Between Condition的PostgreSQL

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

Between Condition的 PostgreSQL 示例:带日期

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

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

在下面的示例中,我们使用between运算符获取在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;

输出

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

Between Condition的PostgreSQL

注意:确保范围总是以较低的值统计,因为如果我们从较高的值开始给出范围,它将给出空的结果集。

例如:如果我们在上述命令中提供范围为较高值 (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;

输出

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

Between Condition的PostgreSQL

在 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 Condition的PostgreSQL

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

换句话说,我们可以说PostgreSQL比使用其他操作**更快地实现了使用between 操作符**的命令。

在Between Condition使用 NOT 运算符的示例

PostgreSQL 中,我们可以在 WHERE 子句中使用NOT 运算符和**between**运算符,从定义的条件与PostgreSQL between条件相矛盾的表中获取数据。

如果我们想获取那些年龄不在23 到 26之间的客户,我们可以使用以下命令:

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

输出

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

Between Condition的PostgreSQL

在下面的示例中,我们将大于 (>) 和小于 (<)运算符与OR 运算符一起使用,而不是使用NOT BETWEEN/ AND运算符。下面的命令等效于上面的SELECT查询:

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

输出

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

Between Condition的PostgreSQL

概述

PostgreSQL Between Condition部分,我们学习了以下主题:

  • PostgreSQL 之间运算符的使用用于将值与值范围进行匹配。
  • 我们使用介于Between Condition从特定表中获取数值
  • 我们使用介于条件从特定表中获取数据值
  • 我们使用NOT 运算符PostgreSQL 之间的运算符来获取那些不满足介于Between Condition的值。