Oracle join用法的具體介紹
以下的相關(guān)內(nèi)容主要是對(duì)Oracle join用法的具體介紹,如果你對(duì)Oracle join有不解之處時(shí),你可以通過以下的文章對(duì)其的實(shí)際應(yīng)用與功能有所了解,以下是文章的具體介紹,望你瀏覽完以下的內(nèi)容會(huì)有所收獲。
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);
---內(nèi)連接
- 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;
在Oracle join的用法中9i和sqlserver一樣 left join,right join,full join
分為1.
- INNER JOIN 2. LEFT JOIN 3. RIGHT JOIN 4.LEFT OUTER JOIN
首先設(shè)定一個(gè)我們要用的兩個(gè)表
表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
對(duì)了 就是 兩個(gè)表的ID都存在并相同 得到這兩個(gè)表的組合表
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的用法中上面的相關(guān)操作可說是很復(fù)雜的。 如果還有方向感 就行 LEFT(左) 得到的是A(left語句的左邊的表)的所有記錄 而B表對(duì)應(yīng)的記錄沒有的話也要補(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
對(duì)了RIGHT(右) 得到的是B(right語句的右邊的表)的所有記錄 而A表對(duì)應(yīng)的記錄沒有的話也要補(bǔ)齊 (我也翻身了! 呵呵)
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
以上的相關(guān)內(nèi)容就是對(duì)Oracle join的用法相關(guān)內(nèi)容的介紹,望你能有所收獲。
【編輯推薦】