Oracle 外连接和(+)号的用法

表 pandaa pandab
id name id job parent_id
1 panda 1 吃 11
2 kongfu 2 喝 12
3 nuddle 4 睡 13

**

  1. 左外链接- 左边表不限制 右边表等值连接

**:
左面表所有数据那过来,右面表按id等值链接,没值的显示空值
select * from pandaa left outer join pandab on pandaa.id = pandab.id
等价于
select * from pandaa ,pandab where pandaa.id=pandab.id(+)
这里写图片描述
**

  1. 右外链接-右边表不限制 左边表等值连接

**:解释同上
select * from pandaa right outer join pandab on pandaa.id = pandab.id
等价于
select * from pandaa ,pandab where pandaa.id (+)= pandab.id
这里写图片描述
**

  1. 完全链接-两边表都不限制

**:左右两个表所有数据拼接起来
select * from pandaa full join pandab on pandaa.id = pandab.id
这里写图片描述
**

  1. 内连接-等值连接

**:等值链接
select * from pandaa inner join pandab on pandaa.id = pandab.id
这里写图片描述
tip:(+)使用受限
1.(+)操作符只能出现在WHERE子句中,并且不能与OUTER JOIN语法同时使用。
2. 当使用(+)操作符执行外连接时,如果在WHERE子句中包含有多个条件,则必须在所有条件中都包含(+)操作符。
3.(+)操作符只适用于列,而不能用在表达式上。
4.(+)操作符不能与OR和IN操作符一起使用。
5.(+)操作符只能用于实现左外连接和右外连接,而不能用于实现完全外连接。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值