【Oracle】内连接、外连接、(+)的使用
来源:互联网 发布:淘宝客服不理人怎么办 编辑:程序博客网 时间:2024/06/06 06:54
表各有A, B两列
连接分为两种:内连接与外连接。
A.内连接
内连接,即最常见的等值连接,例:
SELECT * FROM TESTA,TESTBWHERE TESTA.A=TESTB.A
结果
B.外连接
外连接分为左外连接,右外连接和全外连接。
1. 左外连接 left outer join 或者 left join
左外连接就是在等值连接的基础上加上主表中的未匹配数据,例:
SELECT *FROM TESTA LEFT OUTER JOIN TESTB ON TESTA.A=TESTB.AOracle 支持另一种写法
SELECT * FROM TESTA,TESTBWHERE TESTA.A=TESTB.A(+)
结果:
三个表做左外连接
SELECT *FROM TESTA LEFT OUTER JOIN TESTB ON TESTA.A=TESTB.ALEFT OUTER JOIN TESTCON TESTA.A=TESTC.A
Oracle 支持的另外一种写法
SELECT *FROM TESTA,TESTB,TESTCWHERE TESTA.A=TESTB.A(+)AND TESTA.A=TESTC.A(+)
结果:
2. 右外连接 right outer join 或者 right join
右外连接是在等值连接的基础上加上被连接表的不匹配数据
SELECT *FROM TESTA RIGHT OUTER JOIN TESTB ON TESTA.A=TESTB.A
Oracle支持的另一种写法
SELECT *FROM TESTA,TESTBWHERE TESTA.A(+)=TESTB.A
结果:
3.全外连接 full outer join 或者 full join
全外连接是在等值连接的基础上将左表和右表的未匹配数据都加上
SELECT * FROM TESTA FULL OUTER JOIN TESTBON TESTA.A=TESTB.A
全外连接的等价写法,对同一表先做左连接,然后右连接
SELECT TESTA.*,TESTB.*FROM TESTALEFT OUTER JOIN TESTBON TESTA.A=TESTB.AUNIONSELECT TESTA.*,TESTB.*FROM TESTBLEFT OUTER JOIN TESTAON TESTA.A=TESTB.A
结果:
对于外连接, 也可以使用“(+) ”来表示。 关于使用(+)的一些注意事项:
1.(+)操作符只能出现在where子句中,并且不能与outer join语法同时使用。
2. 当使用(+)操作符执行外连接时,如果在where子句中包含有多个条件,则必须在所有条件中都包含(+)操作符
3.(+)操作符只适用于列,而不能用在表达式上。
4.(+)操作符不能与or和in操作符一起使用。
5.(+)操作符只能用于实现左外连接和右外连接,而不能用于实现完全外连接。
0 0
- 【Oracle】内连接、外连接、(+)的使用
- Oracle内连接、外连接
- oracle内连接 外连接
- Oracle的外连接内连接和自连接
- oracle连接总结(内连接、外连接、自然连接,交叉连接,自连接)
- oracle连接总结(内连接、外连接、自然连接,交叉连接,自连接)
- oracle 连接内连接,外连接
- Oracle 的四种连接-左外连接、右外连接、内连接、全外连接
- Oracle 的四种连接-左外连接、右外连接、内连接、全连接
- Oracle 的四种连接-左外连接、右外连接、内连接、全连接
- Oracle 的内连接、外连接、自连接、左连接、右连接
- mysql和oracle对于内连接和左右连接的使用(一)
- 【Oracle】多表连接查询——内连接、左连接、右连接、全连接(外连接)、完全连接
- 关于oracle 内、外连接的若干问题
- oracle连接查询 内连接 外连接 全连接
- Oracle的表的连接方式(内连接+外连接+自连接)
- oracle中emp表的内连接,左外连接,右外连接,全外连接
- oracle中emp表的内连接,左外连接,右外连接,全外连接
- Yii和ThinkPHP的增删改查
- Http、TCP/IP协议与Socket之间的区别
- 课程设计:源程序编译
- Linux命令行与shell脚本(15)--sed使用
- delphi popupmenu下的tag值获取
- 【Oracle】内连接、外连接、(+)的使用
- matlab SVM有监督学习
- MySQL操作mysqldump命令详解
- Java代理设计模式
- 仿今日头条进行点击弹出输入框输入法弹起。按返回键输入框和输入法同时消失。并且监听输入法随输入框消失而消失
- 关于输入挂
- Spring IOC与AOP的理解
- 青蛙跳台阶问题,常见面试算法题,斐波那契数列(Fibonacci Sequence)
- ubantu系统安装备份完全实录