inner_join与left_join区别举例
时间: 2024-06-13 20:03:08 浏览: 238
left join right join inner join 区别和联系
5星 · 资源好评率100%
INNER JOIN和LEFT JOIN是SQL中用于合并两个或多个表中数据的基本连接操作,它们的主要区别在于如何处理不匹配的数据行。
1. INNER JOIN(内连接):
- 内连接只返回两个表中存在匹配记录的行。如果在其中一个表中没有找到匹配项,那么在结果集中将不会包含那个表的记录。
- 示例:假设我们有两个表`Employees`(有员工ID和部门ID)和`Departments`(有部门ID和部门名称),如果我们使用INNER JOIN来找出所有有对应部门的员工,只有当`Employees`表中的部门ID在`Departments`表中能找到匹配时,才会出现在结果中。
```sql
SELECT Employees.*, Departments.DepartmentName
FROM Employees
INNER JOIN Departments
ON Employees.DepartmentID = Departments.DepartmentID;
```
2. LEFT JOIN(左连接或左外连接):
- 左连接会返回左边表(即第一个表)的所有记录,即使右边的表中没有匹配的记录,也会包含在结果中,但相应的连接字段会被NULL填充。
- 示例:同样用上面的例子,如果我们执行LEFT JOIN,将会显示所有员工,即使他们所在的部门不存在于`Departments`表中,部门名称将被标记为NULL。
```sql
SELECT Employees.*, Departments.DepartmentName
FROM Employees
LEFT JOIN Departments
ON Employees.DepartmentID = Departments.DepartmentID;
```
阅读全文