本文主要是對Oracle數據庫中表的兩種連接方式的講解,表的連接就是指在某個SQL語句中以表和表之間的關連,從一個或者多個表中檢索相關的數據,大體上表與表之間的連接主要可分四種,分別為相等連接,外連接,不等連接和自連接,
1. 相等連接
通過兩個表具有相同意義的列,可以建立相等連接條件。
只有連接列上在兩個表中都出現且值相等的行才會出現在查詢結果中。
例 查詢員工信息以及對應的員工所在的部門信息;
- SELECT * FROM EMP,DEPT;
- SELECT * FROM EMP,DEPT
- WHERE EMP.DEPTNO = DEPT.DEPTNO;
REM 顯示工資超過2000的員工信息以及對應的員工的部門名稱。
2. 外連接
對於外連接,Oracle中可以使用“(+)”來表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN,下面將配合實例一一介紹。除了顯示匹配相等連接條件的信息之外,還顯示無法匹配相等連接條件的某個Oracle數據庫的表的信息。
外連接采用(+)來識別。
A) 左條件(+) = 右條件;
代表除了顯示匹配相等連接條件的信息之外,還顯示右條件所在的表中無法匹配相等連接條件的信息。
此時也稱為"右外連接".另一種表示方法是:
SELECT ... FROM 表1 RIGHT OUTER JOIN 表2 ON 連接條件
B) 左條件 = 右條件(+);
代表除了顯示匹配相等連接條件的信息之外,還顯示左條件所在的Oracle數據庫的表中無法匹配相等連接條件的信息。
此時也稱為"左外連接".
SELECT ... FROM 表1 LEFT OUTER JOIN 表2 ON 連接條件
例 顯示員工信息以及所對應的部門信息
無法顯示沒有部門的員工信息
無法顯示沒有員工的部門信息
- SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO;