<div class="iteye-blog-content-contain" style="font-size: 14px"></div>
1. LEFT OUTER JOIN:左外连接
SELECT e.last_name, e.dept_id, d.name
FROM s_emp e
LEFT OUTER JOIN s_dept d
ON (e.dept_id = d.id);
等价于
SELECT e.last_name, e.dept_id, d.name
FROM s_emp e, s_dept d
WHERE e.dept_id=d.id(+);
结果为:所有员工及对应部门的记录,包括没有对应部门编号dept_id的员工记录。
2. RIGHT OUTER JOIN:右外连接
SELECT e.last_name, d.name
FROM s_emp e
RIGHT OUTER JOIN s_dept d
ON (e.dept_id = d.id);
等价于
SELECT e.last_name,d.name
FROM s_emp e, s_dept d
WHERE e.dept_id(+)=d.id;
结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。
结论:字面意思,左连接连接左边,右连接连接右边。
左连接关键词LEFT OUTER JOIN前面的多,即左边的记录多,
右连接 关键词RIGHT OUTER JOIN后面的多,即右边的记录多。
3. FULL OUTER JOIN:全外关联
SELECT e.dept_id,d.id
FROM s_emp e
FULL OUTER JOIN s_dept d
ON (e.dept_id = d.id);
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。
oracle 左连接,右连接的使用
猜你喜欢
转载自756272165.iteye.com/blog/2118113
今日推荐
周排行