PostgreSQL And条件

在本节中,我们将了解PostgreSQL AND Condition的工作原理,它与WHERE 子句一起用于从表中的多个列中选择唯一数据。

我们还看到了具有不同查询(例如 INSERT、SELECT、UPDATE 和 DELETE)的AND 条件示例。

PostgreSQL AND 条件介绍

PostgreSQL中,AND条件可以与SELECTINSERTUPDATEDELETE 命令结合使用。换句话说,如果由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列。

热门文章

优秀文章