ORACLE表关联

内连接(inner_cross_join)


INNER_JOIN :

内连接即关联多张表时根据连接条件筛选符合条件的数据(书写时可以省略inner关键字)


外连接(outer_join)


在外连接中又分为三类,主要有左外连接(left_outer_join)、右外连接(right_outer_join)、全外连接(full_outer_join):

 

LEFT_OUTER_JOIN/LEFT_JOIN:

左外连接在多表关联时根据关联条件匹配符合条件的数据,左表的数据会全匹配,而在右表中无法匹配的数据则显示NULL

RIGHT_OUTER_JOIN/RIGHT_JOIN:

右外连接与左外连接相反,即右表数据全匹配,左表数据无法匹配则为NULL

FULL_OUTER_JOIN/FULL_JOIN:

全外连接则显示所有的不管是否能关联上的数据,没匹配上的为NULL

除此之外外连接还可以用(+)来表示

select ename,sal,dname from emp a left join  dept b on a.deptno=b.deptno;
等价于
select ename,sal,dname from emp a,dept b where a.deptno=b.deptno(+);

自连接:

自连接即将单一的表用别名区别当作两张表来关联

NATURAL JOIN:

自然连接是一种特殊的等值连接,它会删除关联表的重复列

CROSS_JOIN:

交叉连接,连接生成两张表的笛卡儿积。返回的记录数等于两张表相乘,将两张表的数据相互连接。

USING子句

  • USING子句只能用于等值连接
  • USING要求关联字段名相同
  • USING和natural join冲突



阅读更多
文章标签: 表连接 JOIN ORACLE
个人分类: PL/SQL
上一篇物化视图(Materialized Views)
下一篇Oracle官方文档学习
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭