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 |
SQL “AND”在“SELECT”语句中的使用示例
这是SQL中“AND”条件在SQL的“SELECT”语句中的用法。
示例1:
编写一个查询以获取emp表中部门为IT且地点为Chennai的员工记录。
查询:
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表中,有三名部门是IT的员工。但是,我们根据条件指定了AND操作符,根据该条件,员工的位置不应该是除了Chennai之外的其他位置。所以,只有两名部门是IT且位置是Chennai的员工。
示例2:
编写一个查询,从emp表中获取部门为IT且位置为Mumbai的员工记录。
查询语句:
mysql> SELECT *FROM emp WHERE Department = "IT" AND Location = "Mumbai";
ID | First_Name | Last_Name | Department | Location |
---|---|---|---|---|
2 | Anurag | Rajput | IT | Mumbai |
在emp表中,有三名部门为IT的员工。在这三名员工中,只有一名员工的位置是孟买。由于查询中使用了AND运算符,记录必须同时满足这两个条件。
SQL “AND”与“UPDATE”语句的示例
这是如何在SQL UPDATE语句中使用“AND”条件的示例。
示例1:
编写一个查询,更新emp表中部门为Marketing、名字为Suraj的员工的记录。对于该特定员工,将位置的更新值设置为Delhi。
查询:
mysql> UPDATE emp SET Location = "Delhi" WHERE Department = "Marketing" AND First_Name = "Suraj";
我们将使用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 | Finance | Bangalore |
在emp表中,有三个部门是IT的员工。在这三个员工中,只有一个员工的位置是孟买。由于查询中使用了AND运算符,记录必须同时满足这两个条件。
例子2:
写一个查询来更新emp表中部门为财务且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表中,有两位部门为财务的员工。在这两位员工中,只有一位员工的ID为7。由于查询中使用了AND运算符,一条记录必须同时具有部门为财务和ID为7的条件。
SQL “AND”使用示例与”DELETE”语句
这是如何在SQL 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表中,有三条记录的部门是IT。但只有一条记录被从emp表中删除,该表总共有6条记录。这是由于根据AND运算符,雇员的位置必须是孟买。因此只有一条记录满足两个条件。因此,它被删除了。