SQL And

一、SQL And 介绍

SQL AND条件在 SQL 查询中用于创建两个或多个要满足的条件。

它用于 SQL SELECT、INSERT、UPDATE和DELETE

让我们看看 SQL AND 的语法:

SELECT columns FROM tables WHERE condition 1 AND condition 2;

SQL AND 条件要求同时满足这两个条件。

SQL AND 条件也可用于在 SQL 语句中连接多个表。

为了演示下面的案例,我们先创建以下表

ID First_Name Last_Name Department Location
1 Harshad Kuwar Marketing Pune
2 Anurag Rajput IT Mumbai
3 Chaitali Tarle IT Chennai
4 Pranjal Patil IT Chennai
5 Suraj Tripathi Marketing Pune
6 Roshni Jadhav Finance Bangalore
7 Sandhya Jain Finance Bangalore

二、带有“SELECT”语句的 SQL“AND”示例

示例 1:

编写查询以从员工的部门为 IT 且位置为 Chennai 的 emp 表中获取记录。

mysql> SELECT *FROM emp WHERE Department = "IT" AND Location = "Chennai";
ID First_Name Last_Name Department Location
3 Chaitali Tarle IT Chennai
4 Pranjal Patil IT Chennai

在emp表中,有3名员工的部门是IT。但是我们已经指定了 AND 条件,根据该条件,员工的位置不应位于Chennai以外。因此,只有两名员工的部门是 IT,地点是Chennai。 

示例 2:

编写查询以从员工的部门为 IT 且位置为孟买的 emp 表中获取记录。

mysql> SELECT *FROM emp WHERE Department = "IT" AND Location = "Mumbai";  
ID First_Name Last_Name Department Location
2 Anurag Rajput IT Mumbai

在emp表中,有3名员工的部门是IT。这三名员工中,只有一名员工在Mumbai。由于查询中使用了 AND 运算符,因此记录必须同时满足这两个条件。 

三、带有“UPDATE”语句的 SQL“AND”示例

示例 1:

编写一个查询来更新emp表中的记录,其中员工的部门是Marketing,名字是Suraj。对于该特定员工,将位置的更新值设置为Delhi。

mysql> UPDATE emp SET Location = "Delhi" WHERE Department = "Marketing" AND First_Name = "Suraj";  

我们可以使用以下SQL验证结果:

mysql> SELECT *FROM emp;  

输出结果为:

ID First_Name Last_Name Department Location
1 Harshad Kuwar Marketing Pune
2 Anurag Rajput IT Mumbai
3 Chaitali Tarle IT Chennai
4 Pranjal Patil IT Chennai
5 Suraj Tripathi Marketing Delhi
6 Roshni Jadhav Finance Bangalore
7 Sandhya Jain Finance Bangalore

在emp表中,有3名员工的部门是IT。这三名员工中,只有一名员工在Mumbai。由于查询中使用了 AND 运算符,因此记录必须同时满足这两个条件。 

示例 2:

编写一个查询来更新emp表中的记录,其中员工的部门为Finance,ID为7。对于该特定员工,将部门的更新值设置为HR。

mysql> UPDATE emp SET Department = "HR" WHERE Department = "Finance" AND ID = 7;  

我们将使用 SELECT 查询来验证更新的记录。

mysql> SELECT *FROM emp; 
ID First_Name Last_Name Department Location
1 Harshad Kuwar Marketing Pune
2 Anurag Rajput IT Mumbai
3 Chaitali Tarle IT Chennai
4 Pranjal Patil IT Chennai
5 Suraj Tripathi Marketing Delhi
6 Roshni Jadhav Finance Bangalore
7 Sandhya Jain HR Bangalore

在emp表中,有两个部门是Finance的员工。在这两个员工中,只有一个员工的 ID 为 7。由于查询中使用了 AND 运算符,一条记录必须有部门为财务,ID 为 7。 

四、带有“DELETE”语句的 SQL“AND”示例

示例 1:

编写一个查询,从 emp 表中删除员工的姓氏为 Jain,位置为Bangalore的记录。

mysql> DELETE FROM emp WHERE Last_Name = 'Jain' AND Location = 'Bangalore';

我们将使用 SELECT 查询来验证删除的记录。

mysql> SELECT *FROM emp;  
ID First_Name Last_Name Department Location
1 Harshad Kuwar Marketing Pune
2 Anurag Rajput IT Mumbai
3 Chaitali Tarle IT Chennai
4 Pranjal Patil IT Chennai
5 Suraj Tripathi Marketing Delhi
6 Roshni Jadhav Finance Bangalore

emp 表中只有一条姓名为 Jain 的记录。但是,由于 AND 运算符的存在,也会根据哪个员工的位置应该是Bangalore来检查第二个条件。因此,仅删除该特定记录。 

示例 2:

编写一个查询,从 emp 表中删除员工所在部门为 IT 且位置为 Mumbai 的记录。

mysql> DELETE FROM emp WHERE Department = 'IT' AND Location = 'Mumbai';  

我们将使用 SELECT 查询来验证删除的记录。

mysql> SELECT *FROM emp;  
ID First_Name Last_Name Department Location
1 Harshad Kuwar Marketing Pune
3 Chaitali Tarle IT Chennai
4 Pranjal Patil IT Chennai
5 Suraj Tripathi Marketing Delhi
6 Roshni Jadhav Finance Bangalore

emp 表中有 3 条记录,其部门为 IT。但是emp表只删除了一条记录,一共包含6条记录。发生这种情况的原因是 AND 运算符,根据该运算符,员工的位置必须是Mumbai。因此,只有一个记录同时满足这两个条件。因此,它被删除。

热门文章

优秀文章