Oracle   发布时间:2022-05-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Oracle左连接、右连接、全外连接以及(+)号用法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_0@
回到目录

1、准备工作

Oracle 外连接(OUTERJOIN)包括以下:

对应sql:left/RIGHT/FulL OUTER JOIN。 通常省略OUTER关键字, 写成:left/RIGHT/FulL JOIN。

在左连接和右连接时都会以一张A表为基础表,该表的内容会全部显示,然后加上A表和B表匹配的内容。 如果A表的数据在B表中没有记录。 那么在相关联的结果集行中列显示为空值(NulL)。

对于外连接, 也可以使用“(+) ”来表示。 关于使用(+)的一些注意事项:

  1. (+)操作符只能出现在WHERE子句中,并且不能与OUTER JOIN语法同时使用。
  2. 当使用(+)操作符执行外连接时,如果在WHERE子句中包含有多个条件,则必须在所有条件中都包含(+)操作符。
  3. (+)操作符只适用于列,而不能用在表达式上。
  4. (+)操作符不能与OR和IN操作符一起使用。
  5. (+)操作符只能用于实现左外连接和右外连接,而不能用于实现完全外连接。

创建两张表,插入数据用于学习测试:

CREATE table t_A (
ID   number,name  VARCHAR2(10)
);

table T_B (
ID   INSERT INTO t_A VALUES(1,'A');
2,0); line-height:1.5!important">B3,0); line-height:1.5!important">C4,0); line-height:1.5!important">D5,0); line-height:1.5!important">E');

INTO T_B AABBCCDD');

  

回到目录 2、左外连接(left OUTER JOIN/ left JOIN)

  left JOIN是以左表的记录为基础的,示例中t_A可以看成左表,T_B可以看成右表,它的结果集是t_A表中的全部数据,再加上t_A表和T_B表匹配后的数据。换句话说,左表(t_A)的记录将会全部表示出来,而右表(T_B)只会显示符合搜索条件的记录。T_B表记录不足的地方均为NulL。

SELEct * from t_A a left join T_B b on a.ID = b.ID;
或
outer = b.ID;

  

  用(+)来实现, 这个+号可以这样来理解: + 表示补充,即哪个表有加号,这个表就是匹配表。如果加号写在右表,左表就是全部显示,所以是左连接。

SELEct from t_A a,T_B b where a.ID=b.ID(+);

  

回到目录 3、右外连接(RIGHT OUTER JOIN/RIGHT JOIN)

  和left JOIN的结果刚好相反,是以右表(T_B)为基础的。它的结果集是T_B表所有记录,再加上t_A和T_B匹配后的数据。 t_A表记录不足的地方均为NulL。

right = b.ID;

  

  用(+)来实现, 这个+号可以这样来理解: + 表示补充,即哪个表有加号,这个表就是匹配表。如果加号写在左表,右表就是全部显示,所以是右连接。

where a.ID(+)=b.ID;

  

回到目录 4、全外连接(FULL OUTER JOIN/FULL JOIN)

左表和右表都不做限制,所有的记录都显示,两表不足的地方均为NULL。外连接不支持(+)写法。

from t_A a full = b.id;

  

补充

where a.id = b.id; = b.id;

  

in (SELEct b.id from T_B b); where exists (1 from T_B b = b.id);

  

出处: http://hehaiyang.cnblogs.com/
本博客内容主要以学习、研究和分享为主,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
本图文内容来源于网友网络收集整理提供,作为学习参使用,版权属于原作者。
@H_675_268@ 编程之家官方1群(满)
@H_675_268@ 编程之家官方2群(满)
@H_675_268@ 编程之家官方3群(满)
编程之家官方4群
编程之家官方5群(新)

大佬总结

以上是大佬教程为你收集整理的Oracle左连接、右连接、全外连接以及(+)号用法全部内容,希望文章能够帮你解决Oracle左连接、右连接、全外连接以及(+)号用法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:
猜你在找的Oracle相关文章
其他相关热搜词更多
phpJavaPython程序员load如何string使用参数jquery开发安装listlinuxiosandroid工具javascriptcap