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冲突



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值