PostgreSQL And&Or条件

在本节中,我们将了解PostgreSQL AND & OR Condition的工作原理,它在单个命令中提供了 AND & OR Condition 的优点。在这里,我们还将看到AND & OR 运算符与不同语句的示例,例如 INSERT、SELECT、UPDATE 和 DELETE。

PostgreSQL AND & OR 条件介绍

PostgreSQL中,AND & OR条件可以与INSERTSELECTUPDATEDELETE命令结合使用。在组合这些条件时,我们必须注意在何处使用括号,以便数据库知道评估每个条件的顺序。

PostgreSQL AND & OR 条件允许我们测试多个条件。我们永远不会忘记圆括号的操作顺序。

PostgreSQL AND & OR 条件语法

PostgreSQL AND & OR 条件的语法如下:

WHERE condition1    
AND condition2    
...    
OR condition_n;

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

范围 描述
condition1, condition2, ... condition_n: 这些条件用于定义对它们进行评估以确定是否将选择记录。

PostgreSQL AND & OR 条件示例

让我们看不同的例子来理解PostgreSQL AND & OR 条件是如何工作的。

使用 INSERT 命令的 PostgreSQL AND & OR 示例

在下面的示例中,我们将展示如何将 AND & OR 条件与INSERT命令一起使用。

为此,我们从Organization 数据库中获取员工和部门表,将一个表中的记录插入到另一个表中。

INSERT INTO department  
(phone, address)  
SELECT phone, address  
FROM employee   
WHERE (employee_name = 'Nia Davis' OR employee_name = 'Kat Taylor')  
AND emp_id <5;  

执行完上面的命令后,我们会得到下面的消息窗口,显示值已经成功插入到部门表中。

要检查记录是否已插入到部门表中,我们需要使用 SELECT 命令,如下所示:

Select * from department;  

正如我们在下面的屏幕截图中看到的,PostgreSQL AND & OR条件将记录插入到部门表中。

employee_name为'Nia Davis OR Kat Taylor'且emp_id小于5的员工表中的所有电话和地址记录。

使用 SELECT 命令的 PostgreSQL AND & OR 示例

在下面的示例中,我们将展示如何在SELECT命令中使用AND & OR条件。

为此,我们将Javatpoint数据库中的Customer表获取到该表中的所有记录。

我们在WHERE 子句中使用AND & OR 条件,因为我们可以看到以下命令:

SELECT cust_id, cust_name, cust_address, cust_age  
FROM customer   
WHERE (cust_address = 'Florida' AND cust_name = 'harvey')  
OR (cust_age >=26);  

在上面的示例中,我们可以看到AND & OR 条件将返回居住在佛罗里达州的所有客户,AND Cust_name是'Harvey',或者cust_age大于或等于 26的所有客户。

而小括号()用于指定AND & OR 条件分析的顺序。

让我们再看一个带有AND & OR条件的SELECT命令示例。为此,我们从Javatpoint数据库中获取汽车表。

与上述语句相比,以下命令是一个更复杂的查询:

SELECT car_id, car_name, car_model, car_price, car_color, body_style  
FROM car  
WHERE (body_style = 'coupe')  
OR (body_style ='wagon' AND car_color = 'blue')  
OR (body_style = 'sedan' AND Car_color = 'black' AND car_price = 63890);  

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

正如我们在上面的屏幕截图中看到的那样,AND & OR 条件将返回car_id、car_name、car_model、car_price、car_color、body_style列值中body_style为coupe 或body_style为Wagon的所有记录,以及car_color是蓝色,或者body_style是sedan,car_color是black,car_price是63890 。

热门文章

优秀文章