Oracle数据库表的连接方式

来源:互联网 发布:开个网络棋牌多少钱 编辑:程序博客网 时间:2024/04/20 04:54

首次发表文章,为大家介绍一下个人对于Oracle表连接方式的看法

一、数据的中表连接的方式分为内连接外连接交叉连接

内连接分为等值连接非等值连接自然连接

外连接分为左外连接右外连接全连接

二、三种连接方式具体使用

1.内连接

              ①等值连接也就是常用的内连接,语法SELECT * FROM BOOK B INNER JOIN STUDENT S ON B.STUDENTID = S.SUTDENTID;,返回的结果中包含重复的列,结果如下:

             

              ②非等值连接,两个表连接的连接条件使用除了=之外的其它符号,如!=、>、<等符号

             ③自然连接,语法SELECT * FROM BOOK NATURAL JOIN STUDENT;,

             不需要连接条件,两张表首先做笛卡尔积操作,得到结果,根据相同的列名和列值进行筛选,删除重复的列

      

2.外连接

       ①左外连接(以左表为基准,显示左表所有的数据,与右表进行连接,连接不上的显示为null或是空)

      SELECT * FROM BOOK B LEFT OUTER JOIN STUDENT S ON B.STUDENTID = S.STUDENTID;

      

       ②右外连接(以右表为基准,显示右表所有的数据,与左表进行连接,连接不上的显示为null或是空)

              SELECT * FROM BOOK B RIGHT OUTERJOIN STUDENT S ON B.STUDENTID = S.STUDENTID;

              

       

             ③全外连接(外连接和左连接同时进行,匹配不上的列值为null或是空)

             SELECT * FROM BOOK B FULL OUTER JOIN STUDENT S ON B.STUDENTID = S.STUDENTID;

             

3.交叉连接(两张表做笛卡尔积操作)

              SELECT * FROM BOOK B CROSS JOIN STUDENT;

             


0 0
原创粉丝点击