推广 热搜: 公司  快速  中国  上海    未来  企业  政策  教师  系统 

oracle 连接查询--内连接与外连接

   日期:2024-11-19     作者:caijiyuan    caijiyuan   评论:0    移动:http://fabua.ksxb.net/mobile/news/809.html
核心提示:一、外连接oracle 连接查询分为外链接和内连接,我们先看外连接【outer join】。oracle 的外连接查询分为:左外连接 (左边的表

一、外连接

oracle 连接查询--内连接与外连接

oracle 连接查询分为外链接和内连接,我们先看外连接【outer join】。oracle 的外连接查询分为:

  • 左外连接 (左边的表不加限制) left outer join
  • 右外连接 (右边的表不加限制) right outer join
  • 全外连接 (左右两表都不加限制)full outer join; 通常outer关键字可省略,写成:left/right/full join 即可。

在左右连接时,通常都会以一张表如A表为基础表,该表的内容会全部显示,再加上A表和B表匹配的内容。如果A表中的数据在B表中没有记录,那么会在结果集中以空值显示。

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

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

1.左外连接--left (outer) join

    左外连接是以左表为基础表,示例中以 emp 表为左表,显示所有的查询数据;以 dept 表为右表,显示与 emp 表匹配后的数据,即显示符合查询条件的数据。

oracle 连接查询--内连接与外连接

 

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

  【(+):Oracle专用的联接符,在条件中出现在左边指右外联接,出现在右边指左外联接

oracle 连接查询--内连接与外连接

 

 

2.右外连接--right (outer) join

    右外连接与左外连接正好相反,它是以右表为基础表。在示例中,dept 表为右表,全部显示;emp 表为左表,显示符合查询条件的数据。emp表记录不足的地方显示为NULL。

oracle 连接查询--内连接与外连接

 

     用(+)操作符显示,即为:

oracle 连接查询--内连接与外连接

 

  红线框中为dept表中有,而emp表中没有的数据,显示为NULL。

 

 

3.全外连接--(FULL OUTER JOIN/FULL JOIN

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

  

oracle 连接查询--内连接与外连接

 

 二、内连接

    内连接也叫简单连接,只返回满足条件的记录。用inner join......on.. 来标记,inner可省略。

oracle 连接查询--内连接与外连接

本文地址:http://fabua.ksxb.net/news/809.html    海之东岸资讯 http://fabua.ksxb.net/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新资讯
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号