📅  最后修改于: 2020-11-30 09:01:41             🧑  作者: Mango
在本节中,我们将了解PostgreSQL AND&OR Condition的工作原理,它只需一个命令即可提供AND&OR Condition的优势。在这里,我们还将看到带有不同语句(例如INSERT,SELECT,UPDATE和DELETE)的AND&OR运算符的示例。
在PostgreSQL中, AND&OR条件可以与INSERT , SELECT , UPDATE和DELETE命令结合使用。在组合这些条件时,我们必须警惕在何处使用括号,以便数据库知道评估每个条件的顺序。
PostgreSQL的AND&OR条件允许我们测试几个条件。我们永远不会忘记圆括号的操作顺序。
PostgreSQL AND&OR条件的语法如下:
WHERE condition1
AND condition2
...
OR condition_n;
在以上语法中,我们使用了以下参数:
Parameter | Description |
---|---|
condition1, condition2, … condition_n: | These conditions are used to define that they are evaluated to determine if the records will be selected. |
让我们看不同的示例,以了解PostgreSQL AND&OR条件的工作方式。
在下面的示例中,我们将显示如何在INSERT命令中使用AND&OR条件。
为此,我们要从组织数据库中获取员工和部门表,以将记录从一个表插入到另一个表。
INSERT INTO department
(phone, address)
SELECT phone, address
FROM employee
WHERE (employee_name = 'Nia Davis' OR employee_name = 'Kat Taylor')
AND emp_id <5;
输出量
执行完上述命令后,我们将获得以下消息窗口,显示该值已成功插入到Department表中。
要检查记录是否已插入到部门表中,我们需要使用SELECT命令,如下所示:
Select * from department;
输出量
正如我们在下面的屏幕快照中看到的那样, PostgreSQL AND&OR条件将记录插入了Department表中。
雇员表中其employee_name为‘Nia Davis或Kat Taylor’且emp_id小于5的所有电话和地址记录。
在下面的示例中,我们将显示如何在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条件将返回居住在佛罗里达州的所有那些客户,并且Cust_name是‘Harvey’,或者所有cust_age大于或等于26的客户。
括号()用于指定AND&OR条件分析的顺序。
让我们再看一个带有AND&OR条件的SELECT命令示例。为此,我们从Javatpoint数据库中获取car表。
与上述语句相比,以下命令是一个更复杂的查询:
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表中的car_id,car_name,car_model,car_price,car_color,body_style列值返回所有这些记录,其中body_style为coupe或body_style为Wagon , car_color为蓝色,或者其body_style为轿车, car_color为黑色,而car_price为63890 。
在下面的示例中,我们将显示如何通过UPDATE命令使用AND&OR条件。
为此,我们从Javatpoint数据库获取部门表。
在以下命令中,PostgreSQL AND&OR条件更新以下值:
在emp_fname为‘Flora’或dept_id为4且emp_id小于5的部门表中, dept_name的值等于RESEARCH 。
UPDATE department
SET dept_name= 'RESEARCH'
WHERE (emp_fname = 'Flora' OR dept_id = 4)
AND emp_id < 5;
输出量
执行完上述命令后,我们将获得以下输出,可以看到Department表已成功更新。
现在,我们将使用“选择”命令来检查部门表中的特定记录是否已更新:
SELECT *
FROM department;
输出量
执行上述命令后,我们将得到以下结果:
在下面的示例中,我们将显示如何通过DELETE命令使用AND&OR条件。
在这里,我们将从Javatpoint数据库中获取客户表,在该表中我们将从表中删除特定的记录。
在以下命令中, PostgreSQL AND&OR条件用于从具有以下值的客户表中删除记录。
cust_address为‘Florida’ ,而cust_name为‘Harvey’或cust_age大于或等于26 。
DELETE FROM customer
WHERE (cust_address = 'Florida' AND cust_name = 'harvey')
OR cust_age >=26;
输出量
执行完上述命令后,我们将获得以下消息窗口,显示记录已成功删除。
现在,我们将使用“选择”命令来检查“客户”表中的特定记录是否已删除:
SELECT *
FROM customer;
输出量
执行上述命令后,我们将得到以下结果:
在PostgreSQL AND&OR Condition部分中,我们学习了以下主题: