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。因此,只有一个记录同时满足这两个条件。因此,它被删除。
热门文章
优秀文章