oracle 中左连接和左外连接
时间: 2023-07-18 07:27:07 浏览: 87
在 Oracle 数据库中,左连接和左外连接都是用来连接两个表的查询方式,它们的区别在于是否包含左表中的所有记录,即使在右表中没有匹配的记录。
左连接(Left Join)返回左表(左边的表)中所有记录,以及右表(右边的表)中与左表中记录匹配的记录,如果在右表中没有匹配的记录,则返回 NULL 值。左连接使用关键字 LEFT JOIN 或 LEFT OUTER JOIN 来进行查询。
例如,下面的 SQL 查询语句使用左连接查询 employees 和 departments 表,返回所有员工的信息及其所在的部门名称,如果该员工没有对应的部门,部门名称将显示为 NULL 值:
```
SELECT e.*, d.department_name
FROM employees e
LEFT JOIN departments d
ON e.department_id = d.department_id;
```
左外连接(Left Outer Join)与左连接类似,但是它返回左表中所有记录,以及右表中与左表中记录匹配的记录,如果在右表中没有匹配的记录,则会返回一个空的右表结果集。左外连接使用关键字 LEFT OUTER JOIN 或 LEFT JOIN 来进行查询。
例如,下面的 SQL 查询语句使用左外连接查询 employees 和 departments 表,返回所有员工的信息及其所在的部门名称,如果该员工没有对应的部门,则返回一个空的右表结果集:
```
SELECT e.*, d.department_name
FROM employees e
LEFT OUTER JOIN departments d
ON e.department_id = d.department_id;
```
阅读全文