PostgreSQL And条件
在本节中,我们将了解PostgreSQL AND Condition的工作原理,它与WHERE 子句一起用于从表中的多个列中选择唯一数据。
我们还看到了具有不同查询(例如 INSERT、SELECT、UPDATE 和 DELETE)的AND 条件示例。
PostgreSQL AND 条件介绍
在PostgreSQL中,AND条件可以与SELECT、INSERT、UPDATE和DELETE 命令结合使用。换句话说,如果由AND分隔的所有条件都为TRUE ,我们可以说AND 条件用于指定数据。
PostgreSQL AND 条件语法
PostgreSQL AND 条件的语法如下:
WHERE condition1
AND condition2
...
AND condition_n;
在上面的语法中,我们使用了以下参数:
范围 | 描述 |
---|---|
condition1, condition2, ... condition_N | 它指定了评估以确定是否将选择记录的条件。 |
PostgreSQL AND 条件示例
让我们看不同的例子来理解PostgreSQL AND 条件是如何工作的。
使用 INSERT 命令的 PostgreSQL AND 条件示例
我们将展示如何在 INSERT 命令中使用AND 条件。
为此,我们从Organization 数据库中获取员工和部门表,将一个表中的记录插入到另一个表中。
在下面的示例中,我们将部门表中的记录插入到员工表中。我们从department表中取出电话和地址列记录, dept_id小于5,并且 department_name是SALES。
INSERT INTO employee
(phone, address)
SELECT phone, address
FROM department
WHERE dept_id < 5
AND department_name = 'SALES';
执行完上面的命令后,我们会得到下面的消息窗口,显示该值已成功插入到员工表中。
要检查记录是否已插入到员工表中,我们将使用 SELECT 命令,如下所示:
Select * from employee;
正如我们在下面的屏幕截图中看到的那样,PostgreSQL AND 条件向员工表中插入了一条记录。
使用 SELECT 命令的 PostgreSQL AND 条件示例
在下面的示例中,我们将显示使用AND 条件和具有两个条件的 SELECT 命令。
为此,我们从Javatpoint数据库中获取Client表以从表中获取记录。
我们在WHERE 子句中使用AND 条件,因为我们可以看到以下命令:
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 命令的PostgreSQL AND 条件连接各种表,我们从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上连接。
注意事项:
- 所有列都以表名开头,例如client.client_id。
- 有必要消除关于引用哪个列的任何不确定性,因为有时,我们在两个表中都有相似的列名。
- 与上面一样,Client和Client_details表具有与client_id类似的列。
- 在这种情况下,输出将仅显示SELECT命令中提到的client_id、client_name、client_qualification 和 mobile_number列。
热门文章
优秀文章