Oracle 内、外连接
admin
2023-05-12 15:01:44
0次

一、Oracle连接类型

    ☆说明:按照自己的理解划分的类型,并不是官方定义。

    1、内连接

            ①等值连接

            ②非等值连接

            ③自然连接      

    2、外连接

            ①左外连接

            ②右外连接

            ③全外连接     

二、表数据准备

                            

t表
字段a字段b
118
228
338
4NULL

t1表
字段x字段y
19
28
37

三、内连接

    1、内连接是通过inner join进行多表关联,展示查询结果,示例如下:

        SQL>select * from t inner join t1 on t.a=t1.x;

       效果展示:

Oracle 内、外连接

        说明:通过t表inner join t1表,我们得到了上图的展示效果。

    2、同样实现上图中的查询结果,我们还可以利用等值连接的方式实现

        SQL>select * from t,t1 where t.a=t1.x;

    3、inner join可以简化为join,但是实际使用中不建议这样书写,因为可读性不高。

    4、通俗的理解是等值连接、非等值连接、自然连接都是内连接这个大范畴的具体表现形式。

    5、不等值连接可以用where和inner join两种方式实现

        SQL>select * from t inner join t1 on t.a<>t1.x;

        SQL>select * from t,t1 where t.a<>t1.x;
        上面这两句sql的展示结果是相同的。

    6、自连接(self join)是SQL语句中经常要用的连接方式,使用自连接可以将自身表的一个镜像当作另一个表来对待,从而能够得到一些特殊的数据。

        例如:select * from employee worker,employee manger where worker.id=manger.id

四、外连接

    1、左外连接:通过关键字left join实现,全写是left out join,实际操作过程中一般写作left join,还可以通过在右侧连接值后加(+)来代替,左连接的意思是两表关联,显示查询数目以左表为准,但是约束受到右表的影响,对于不符合等值的情况,用NULL代替,如下例:

Oracle 内、外连接说明:首先通过等值连接,正常把前3行数据关联显示出来,之所以显示第4行是因为sql语句是左连接,正如我们所述,数据展示条数以左表为准,但是不符合要求的统统用NULL进行了填充。

    2、右连接:与左连接相反,核心思想相同,只要熟练掌握左连接,右连接自然无师自通。

    3、关于(+)使用的注意事项:

(+)操作符只能出现在where子句中,并且不能与outer join语法同时使用。

当使用(+)操作符执行外连接时,如果在where子句中包含有多个条件,则必须在所有条件中都包含(+)操作符

(+)操作符只适用于列,而不能用在表达式上。

(+)操作符不能与or和in操作符一起使用。

(+)操作符只能用于实现左外连接和右外连接,而不能用于实现完全外连接。 

4、全外连接:通过full join关键字连接实现,左边和右表都不受限制,两表都不满足条件的情况都用NULL填充,全外连接不支持(+)这种写法,即不能在左表和右表两边都写(+)。

        SQL> select * from t full join t1 on t.a=t1.x;

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...