PostgreSQL And&Or条件
在本节中,我们将了解PostgreSQL AND & OR Condition的工作原理,它在单个命令中提供了 AND & OR Condition 的优点。在这里,我们还将看到AND & OR 运算符与不同语句的示例,例如 INSERT、SELECT、UPDATE 和 DELETE。
PostgreSQL AND & OR 条件介绍
在PostgreSQL中,AND & OR条件可以与INSERT、SELECT、UPDATE和DELETE命令结合使用。在组合这些条件时,我们必须注意在何处使用括号,以便数据库知道评估每个条件的顺序。
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 。
热门文章
优秀文章