📅  最后修改于: 2020-11-30 09:02:00             🧑  作者: Mango
在本节中,我们将了解PostgreSQL OR Condition的工作原理,该规范指定如果我们采用两个或多个条件,则必须满足其中一个条件才能获取结果记录。我们还将看到带有不同查询(例如INSERT,SELECT,UPDATE和DELETE)的OR条件示例。
在PostgreSQL中,可以将OR条件与SELECT , INSERT , UPDATE和DELETE命令结合使用,以从表的各个列中选择唯一数据。换句话说,如果被OR除的任何条件为TRUE ,则可以说OR条件用于返回数据。
注意:PostgreSQL OR条件允许我们返回两个或多个条件。它要求数据中可能包含条件1,条件2 …条件N的任何条件,并包含在输出中。
PostgreSQL OR条件的语法如下:
WHERE condition1
OR condition2
...
OR condition_n;
在以上语法中,我们使用了以下参数:
Parameter | Description |
---|---|
condition1, condition2, … condition_n: | It specifies the conditions that are evaluated to determine when the records are selected. |
让我们看不同的示例,以了解PostgreSQL OR Condition的工作方式。
在下面的示例中,我们将看到带有两个条件的SELECT命令使用OR条件。
为此,我们将Javatpoint数据库中的employee表带到该表中的所有记录。
我们将OR条件与WHERE子句一起使用,因为我们可以看到以下命令:
SELECT emp_id, emp_fname, emp_lname, location
FROM employee
WHERE location = 'New York'
OR emp_id > 8;
输出量
执行上述命令后,我们将获得以下输出:
正如我们在上面的屏幕截图中看到的那样, PostgreSQL OR条件将返回那些位置为“ New York”或emp_id大于8的员工的信息。
让我们再看一个带有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'
OR car_price = 399999;
输出量
成功执行以上命令后,我们将获得以下输出:
正如我们在上面的屏幕快照中看到的那样, PostgreSQL OR条件将从car表的body_style为‘coupe’或’Wagon’或car_price的car_id,car_name,car_model,car_price,car_color,body_style列值中返回所有这些记录是63890 。
在下面的示例中,我们将显示如何在INSERT命令中使用OR条件。
为此,我们要从组织数据库中获取员工和部门表,以将记录从一个表插入到另一个表。
INSERT INTO department
(phone, address)
SELECT phone, address
FROM employee
WHERE emp_id <6
OR employee_name = 'Emily Smith';
输出量
执行完上述命令后,我们将获得以下消息窗口,显示该值已成功插入。
要检查记录是否已插入部门表中,我们将使用SELECT命令,如下所示:
Select * from department;
输出量
我们可以在下面的屏幕截图中看到,PostgreSQL OR条件将四个记录插入了Department表中。
phone和address列从employee表中记录,其中emp_id小于6或employee_name为Emily Smith 。
在下面的示例中,我们将显示如何在UPDATE命令中使用OR条件。
为此,我们从Javatpoint数据库中获取客户表。
在以下命令中, PostgreSQL OR条件用于更新以下值:
客户表中cust_id等于103或cust_name为emily的客户表中的cust_name值为Mike,cust_address为London,cust_age值为26 。
UPDATE customer
SET cust_name= 'Mike', cust_address='London', cust_age=26
WHERE cust_id = 103
OR cust_name = 'emily';
输出量
执行完上述命令后,我们将获得以下输出,可以看到客户表已成功更新。
现在,我们将使用“选择”命令来检查客户表中的特定记录是否已更新:
SELECT *
FROM customer;
输出量
执行上述命令后,我们将得到以下结果:
在下面的示例中,我们将看到如何在DELETE命令中使用OR条件。
在下面的示例中,我们从Javatpoint数据库中获取部门表,从表中删除特定的记录。
在以下命令中, PostgreSQL OR Condition用于从部门表中删除所有记录,其中dept_name为‘RESEARCH’ ,而emp_fname为‘Cena’ 。
DELETE FROM department
WHERE dept_name = 'RESEARCH'
OR emp_fname ='Cena';
输出量
执行完上述命令后,我们将获得以下消息窗口,显示记录已成功从部门表中删除。
现在,我们将使用“选择”命令来检查部门表中是否已删除特定记录:
SELECT *
FROM department;
输出量
成功执行以上命令后,我们将获得以下输出:
在“ PostgreSQL OR条件”部分中,我们学习了以下主题: