以下的文章主要是通过代码的方式来引出Oracle join的正确用法,其在实际中的应用比例还是占为多数的,如果你对这一新开发的技术,心存好奇的话,以下的文章将会揭开它的神秘面纱。希望你在浏览完之后会有所收获。
- 8i:
- create table dali.test1(a int,b int);
- create table dali.test2(a int,b int);
- insert into dali.test1 values(1,456);
- insert into dali.test1 values(2,427);
- insert into dali.test2 values(1,45456);
- insert into dali.test2 values(3,45656);
内连接
- select * from dali.test1 a, dali.test2 b where a.a=b.a;
左连接
- select * from dali.test1 a, dali.test2 b where a.a=b.a(+);
右连接
- select * from dali.test1 a, dali.test2 b where a.a(+)=b.a;
完全连接
- select * from dali.test1 a, dali.test2 b where a.a=b.a(+)
- union
- select * from dali.test1 a, dali.test2 b where a.a(+)=b.a;
迪卡尔
- 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
没晕吧 如果还有方向感 就行 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.mswzjz.cn/qtweb/news27/358677.html
温江区贝锐智能技术服务部_成都网站建设公司,为您提供移动网站建设、营销型网站建设、App开发、服务器托管、网站设计公司、响应式网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能