彻底搞懂Oracle的左外连接和右外连接(以数据说话)
2014-12-30 17:18
531 查看
Employees表:
Department表:
select e.last_name,e.department_id,d.department_name
from employees e
left outer join departments d
on (e.department_id = d.department_id);
select e.last_name, d.department_name
from employees e, departments d
where e.department_id = d.department_id(+) 左外连接
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。
select e.last_name,e.department_id,d.department_name
from employees e
right outer join departments d
on (e.department_id = d.department_id);
select e.last_name, d.department_id,d.department_name
from employees e, departments d
where e.department_id(+) = d.department_id; 右外连接
结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。
总结:
A 表right outer join B表
结果是:所有B表记录,及匹配的A表记录,A表未匹配上的显示null
A(+)=B
A 表 left outer join B
A=B(+)
结果是:所有A表记录,及匹配的B表记录,B表未匹配的显示null
经典总结:
有+号的表不全部显示,对面的表全部显示。
口诀:
右外连接+在左
左外连接+在右
有+不全显
无+就全显
Department表:
select e.last_name,e.department_id,d.department_name
from employees e
left outer join departments d
on (e.department_id = d.department_id);
select e.last_name, d.department_name
from employees e, departments d
where e.department_id = d.department_id(+) 左外连接
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。
select e.last_name,e.department_id,d.department_name
from employees e
right outer join departments d
on (e.department_id = d.department_id);
select e.last_name, d.department_id,d.department_name
from employees e, departments d
where e.department_id(+) = d.department_id; 右外连接
结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。
总结:
A 表right outer join B表
结果是:所有B表记录,及匹配的A表记录,A表未匹配上的显示null
A(+)=B
A 表 left outer join B
A=B(+)
结果是:所有A表记录,及匹配的B表记录,B表未匹配的显示null
经典总结:
有+号的表不全部显示,对面的表全部显示。
口诀:
右外连接+在左
左外连接+在右
有+不全显
无+就全显
相关文章推荐
- 彻底搞懂Oracle的左外连接和右外连接(以数据说话)
- 彻底搞懂Oracle的左外连接和右外连接(以数据说话)
- 彻底搞懂Oracle的左外连接和右外连接(以数据说话)
- 彻底搞懂Oracle的左外连接和右外连接(以数据说话)
- 彻底搞懂Oracle的左外连接和右外连接(以数据说话)
- ★★彻底搞懂Oracle的左外连接和右外连接(以数据说话)
- 彻底搞懂Oracle的左外连接和右外连接(以数据说话)
- Oracle连接查询,彻底搞懂外连接(左外连接&右外连接)
- Oracle的左外连接和右外连接(以数据说话)
- 彻底搞懂Oracle的左外连接和右外连接
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- NET连接不上Oracle数据时的问题。
- 通过数据链接(Database Link),从Oracle 9i 连接 SQL Server 2000(实例)
- 用C#通过DatabaseLink连接远程Oracle数据表的错误,及其变通方法
- 彻底解决OLEDB连接Excel数据类型不统一的问题
- 解决Oracle透明网关连接SQL server进行数据操作出现“列名无效”问题
- ORACLE多行数据转为一行以,连接
- oracle数据连接监听失败的情况
- 常用数据连接写法 oracle db2 sqlserver
- oracle 建表 造数据 存储过程 创建数据库的远程连接 以及一列的多行合并