当前位置:首页 > 开发 > 数据库 > 正文

外关联

发表于: 2014-05-29   作者:谷熙亚   来源:转载   浏览:
摘要: Oracle中外关联采用的是(+)符号表示外关联,也就是说标识了(+)符号的部分在找不到对应的值的时候为NULL Oracle中可以使用“(+) ”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN LEFT OUTER JOIN:左外关联 SELECT e.last_name, e.department_id, d.department_name FROM employ

Oracle中外关联采用的是(+)符号表示外关联,也就是说标识了(+)符号的部分在找不到对应的值的时候为NULL

Oracle中可以使用“(+) ”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN

LEFT OUTER JOIN:左外关联
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, e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id=d.department_id(+)
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。

RIGHT OUTER JOIN:右外关联
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, e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id(+)=d.department_id
结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。

FULL OUTER JOIN:全外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
FULL OUTER JOIN departments d
ON (e.department_id = d.department_id);
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。

例:select t1.*,t2.* from dept t1,emp t2 where t1.deptno=t2.deptno(+);
其中:t1.deptno=t2.deptno(+)代表意思是,即使t2(emp表)中不存在匹配的记录,在t1(dept表)也查询出来。

外关联

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
来源:http://stackoverflow.com/questions/29392169/populating-field-values-for-referred-docume
一、一对唯一外键关联映射——单向 1. 一对唯一外键关联映射是多对一关联映射的特例,可以采用<ma
来源:http://stackoverflow.com/questions/29392169/populating-field-values-for-referred-docume
关联映射:一对一 一对一关系就如球队与球队所在地址之间的关系,一支球队仅有一个地址,而一个地址
一对一外键关联是一对多外键关联的特例,只是在多的一方加了个唯一性约束。 一、模型 一个人对应一
一:hibernate一对一唯一外键关联映射(单向关联Person---->IdCard) 一对唯一外键关联映射是多
类图: person表中设置一个外键card_id 参考card表的主键。 Person.java类 package com.org.model;
类图如下: Person.java类 package com.org.model; public class Person { private int id; private
Hibernate 一对一外键关联映射需要使用<many-to-one>标签达到目的。关系数据库会在many的一方
<img src="http://img.it610.com/image/product/6f8543b9b4414912a304c88d0ec71831.jpg" alt="hi
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号