📅  最后修改于: 2020-11-30 09:02:25             🧑  作者: Mango
在本节中,我们将了解PostgreSQL AND Condition的工作原理,该条件与WHERE子句一起使用,以从表中的多个列中选择唯一数据。
我们还将看到带有不同查询(例如INSERT,SELECT,UPDATE和DELETE)的AND条件示例。
在PostgreSQL中, AND条件可以与SELECT , INSERT , UPDATE和DELETE命令结合使用。换句话说,如果由AND分隔的所有条件均为TRUE ,则可以说AND条件用于指定数据。
注意:PostgreSQL AND条件允许我们返回两个或多个条件。 PostgreSQL AND条件需要任何可能为condition1,condition2,… conditionN的条件,这些条件必须出现在数据中并包含在输出中。
PostgreSQL AND条件的语法如下:
WHERE condition1
AND condition2
...
AND condition_n;
在以上语法中,我们使用了以下参数:
Parameter | Description |
---|---|
condition1, condition2, … condition_N | It specifies the conditions that are assessed to determine if the records will be selected. |
让我们看不同的示例,以了解PostgreSQL AND Condition的工作方式。
我们将显示如何通过INSERT命令使用AND条件。
为此,我们要从组织数据库中获取员工和部门表,以将记录从一个表插入到另一个表。
在下面的示例中,我们将记录从部门表插入到雇员表中。我们从部门表中获取电话和地址列记录,dept_id小于5,而部门名为SALES 。
INSERT INTO employee
(phone, address)
SELECT phone, address
FROM department
WHERE dept_id < 5
AND department_name = 'SALES';
输出量
执行完上述命令后,我们将获得以下消息窗口,显示该值已成功插入到employee表中。
要检查记录是否已插入到employee表中,我们将使用SELECT命令,如下所示:
Select * from employee;
输出量
正如我们在下面的屏幕截图中看到的那样, PostgreSQL AND条件将一条记录插入到employee表中。
在下面的示例中,我们将使用AND条件和带有两个条件的SELECT命令进行显示。
为此,我们从Javatpoint数据库获取Client表,以从表中获取记录。
我们将AND条件与WHERE子句一起使用,因为我们可以看到以下命令:
SELECT client_name, client_profession, client_qualification, client_salary
FROM client
WHERE client_qualification = 'MBA'
AND client_salary <= 1000000;
输出量
执行上述命令后,我们将获得以下输出:
正如我们在上面的屏幕截图中看到的那样, PostgreSQL AND条件将返回那些client_qualification为‘MBA’且client_salary小于或等于1000000的客户信息。
为了使用PostgreSQL AND条件和SELECT命令连接各种表,我们从Javatpoint数据库中获取client和client_details表。
与上述语句相比,以下命令是一个更复杂的查询:
SELECT client.client_id, client.client_name,
client.client_qualification,client_details.mobile_number
FROM client, client_details
WHERE client.client_id = client_details.client_id
AND client.client_qualification= 'MBA';
输出量
成功执行以上命令后,我们将获得以下输出:
我们可以看到上面的命令现在运行良好;如果我们想做得更精确,可以在PostgreSQL INNER Join条件的帮助下编写以上语句。
SELECT client.client_id, client.client_name,
client.client_qualification,client_details.mobile_number
FROM client
INNER JOIN client_details
ON client.client_id = client_details.client_id
WHERE client.client_qualification= 'MBA';
输出量
在执行上述命令后,我们将获得以下结果:
正如我们在上面的屏幕截图中看到的那样, PostgreSQL AND条件将返回client_qualification为MBA的那些行。并且Client和Client_details表在client_id上联接。
注意:
在下面的示例中,我们将显示如何在UPDATE命令中使用AND条件。
为此,我们从Javatpoint数据库获取summer_fruits表。
在以下命令中, PostgreSQL AND条件用于更新以下值:
summer_fruits表中的summer_fruits_name值的值是Strawberry ,其中fruit_id等于4并且summer_fruits_name是Guava 。
UPDATE summer_fruits
SET summer_fruits_name = 'Strawberry'
WHERE fruit_id = 4
AND summer_fruits_name= 'Guava';
输出量
执行完上面的命令后,我们将获得以下输出,可以看到summer_fruits表已成功更新。
现在,我们将使用Select命令来检查summer_fruits表中的特定记录是否已更新:
SELECT * FROM summer_fruits;
输出量
执行上述命令后,我们将得到以下结果:
在下面的示例中,我们将显示如何通过DELETE命令使用AND条件。
在下面的示例中,我们从组织数据库中获取“客户”表,从该表中删除特定的记录。
在以下命令中, PostgreSQL AND Condition用于从客户表中删除所有记录,其中first_name为‘Jane’ , last_name为’Miller’ 。
DELETE FROM customer
WHERE first_name = 'Jane'
AND last_name ='Miller';
输出量
执行完上述命令后,我们将获得以下消息窗口,显示记录已成功从客户表中删除。
现在,我们将使用“选择”命令来检查客户表中的特定记录是否已删除:
SELECT *
FROM customer;
输出量
成功执行以上命令后,我们将获得以下输出: