Oraclejoin的实际应用代码介绍

本文主要是通过介绍Oracle join的相关实际应用代码来引出Oracle join的用法,如果你在Oracle join的用法中存在一些不解之处时,你就可以妨浏览下面的文章,希望你能从中获得自己想要的东西。

8i:

 
 
 
  1. create table dali.test1(a int,b int);  
  2. create table dali.test2(a int,b int);  
  3. insert into dali.test1 values(1,456);  
  4. insert into dali.test1 values(2,427);  
  5. insert into dali.test2 values(1,45456);  
  6. insert into dali.test2 values(3,45656);   

内连接

 
 
 
  1. select * from dali.test1 a, dali.test2 b where a.a=b.a; 

左连接

 
 
 
  1. select * from dali.test1 a, dali.test2 b where a.a=b.a(+); 

右连接

 
 
 
  1. select * from dali.test1 a, dali.test2 b where a.a(+)=b.a; 

完全连接

 
 
 
  1. select * from dali.test1 a, dali.test2 b where a.a=b.a(+)  
  2. union  
  3. select * from dali.test1 a, dali.test2 b where a.a(+)=b.a; 

迪卡尔

 
 
 
  1. select * from dali.test1, dali.test2; 

9i和sqlserver一样 left join,right join,full join

分为1. INNER JOIN 2. LEFT JOIN 3. RIGHT JOIN 4.LEFT OUTER JOIN

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

表A 表B

ID NAME ID CLASS

1 IBM 1 C1

2 SONY 3 C3

3 BMW 4 C4

1 INNER JOIN: SELECT * FROM A INNER JOIN B ON A.ID=B.ID

得表 ID NAME CLASS

1 IBM C1

3 BMW C3

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

2 LEFT JOIN : SELECT * FROM A LEFT JOIN B ON A.ID=B.ID

得表 ID NAME CLASS

1 IBM C1

2 SONY null

3 BMW C3

Oracle join的用法中如果还有方向感 就行 LEFT(左) 得到的是A(left语句的左边的表)的所有记录 而B表对应的记录没有的话也要补齐 (真霸道! 呵呵)

3 RIGHT JOIN : SELECT * FROM A RIGHT JOIN B ON A.ID=B.ID

得表 ID NAME CLASS

1 IBM C1

3 BMW C3

4 null C4

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

4 FULL OUTER JOIN: SELECT * FROM A FULL OUTER JOIN B ON A.ID=B.ID

得表 ID NAME CLASS

1 IBM C1

2 SONY null

3 BMW C3

4 null C4

以上的相关内容就是对Oracle join的用法的介绍,望你能有所收获。

网站栏目:Oraclejoin的实际应用代码介绍
浏览路径:http://www.hantingmc.com/qtweb/news24/456374.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联