程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle join用法的具體介紹

Oracle join用法的具體介紹

編輯:Oracle數據庫基礎

以下的相關內容主要是對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; 

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

分為1.

  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. 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

  1. 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

  1. 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

  1. 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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved