1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

Oracle join用法的具体介绍

2022-11-26 | 数据库 | admin | 603°c
A+ A-

以下的相关内容主要是对Oracle join用法的具体介绍,如果你对Oracle join有不解之处时,你可以通过以下的文章对其的实际应用与功能有所了解,以下是文章的具体介绍,望你浏览完以下的内容会有所收获。

8i:

createtabledali.test1(aint,bint); 
createtabledali.test2(aint,bint); 
insertintodali.test1values(1,456); 
insertintodali.test1values(2,427); 
insertintodali.test2values(1,45456); 
insertintodali.test2values(3,45656);

—内连接

select*fromdali.test1a,dali.test2bwherea.a=b.a;

—左连接

select*fromdali.test1a,dali.test2bwherea.a=b.a(+);

—右连接

select*fromdali.test1a,dali.test2bwherea.a(+)=b.a;

—完全连接

select*fromdali.test1a,dali.test2bwherea.a=b.a(+) 
union 
select*fromdali.test1a,dali.test2bwherea.a(+)=b.a;

—迪卡尔

select*fromdali.test1,dali.test2;

在Oracle join的用法中9i和sqlserver一样 left join,right join,full join

分为1.

INNERJOIN2.LEFTJOIN3.RIGHTJOIN4.LEFTOUTERJOIN

首先设定一个我们要用的两个表

表A 表B

ID NAME ID CLASS

1 IBM 1 C1

2 SONY 3 C3

3 BMW 4 C4

1INNERJOIN:SELECT*FROMAINNERJOINBONA.ID=B.ID

得表 ID NAME CLASS

1 IBM C1

3 BMW C3

对了 就是 两个表的ID都存在并相同 得到这两个表的组合表

2

LEFTJOIN:SELECT*FROMALEFTJOINBONA.ID=B.ID

得表 ID NAME CLASS

1 IBM C1

2 SONY null

3 BMW C3

在Oracle join的用法中上面的相关操作可说是很复杂的。 如果还有方向感 就行 LEFT(左) 得到的是A(left语句的左边的表)的所有记录 而B表对应的记录没有的话也要补齐

3

RIGHTJOIN:SELECT*FROMARIGHTJOINBONA.ID=B.ID

得表 ID NAME CLASS

1 IBM C1

3 BMW C3

4 null C4

对了RIGHT(右) 得到的是B(right语句的右边的表)的所有记录 而A表对应的记录没有的话也要补齐 (我也翻身了! 呵呵)

4

FULLOUTERJOIN:SELECT*FROMAFULLOUTERJOINBONA.ID=B.ID

得表 ID NAME CLASS

1 IBM C1

2 SONY null

3 BMW C3

4 null C4

本文来源:1818IP

本文地址:https://www.1818ip.com/post/11892.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。