Oracle資料庫中表的四種連線方式講解
1. 相等連線
通過兩個表具有相同意義的列,可以建立相等連線條件。
只有連線列上在兩個表中都出現且值相等的行才會出現在查詢結果中。
例 查詢員工資訊以及對應的員工所在的部門資訊;
SELECT * FROM EMP,DEPT; SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO; |
REM 顯示工資超過2000的員工資訊以及對應的員工的部門名稱。
2. 外連線
對於外連線,Oracle中可以使用“(+)”來表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN,下面將配合例項一一介紹。除了顯示匹配相等連線條件的資訊之外,還顯示無法匹配相等連線條件的某個表的資訊。
外連線採用(+)來識別。
A) 左條件(+) = 右條件;
代表除了顯示匹配相等連線條件的資訊之外,還顯示右條件所在的表中無法匹配相等連線條件的資訊。
此時也稱為"右外連線".另一種表示方法是:
SELECT ... FROM 表1 RIGHT OUTER JOIN 表2 ON 連線條件
B) 左條件 = 右條件(+);
代表除了顯示匹配相等連線條件的資訊之外,還顯示左條件所在的表中無法匹配相等連線條件的資訊。
此時也稱為"左外連線".
SELECT ... FROM 表1 LEFT OUTER JOIN 表2 ON 連線條件
例 顯示員工資訊以及所對應的部門資訊
--無法顯示沒有部門的員工資訊
--無法顯示沒有員工的部門資訊
SELECT * FROM EMP JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO; |
REM 顯示員工資訊以及所對應的部門資訊,顯示沒有員工的部門資訊
--SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO(+) = DEPT.DEPTNO; SELECT * FROM EMP RIGHT OUTER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO; |
REM 顯示員工資訊以及所對應的部門資訊,顯示沒有部門的員工資訊
--SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO(+); SELECT * FROM EMP LEFT OUTER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO; |
3. 不等連線
兩個表中的相關的兩列進行不等連線,比較符號一般為>,
REM SALGRADE --DESC SALGRADE; --SELECT * FROM SALGRADE; |
REM 顯示員工的編號,姓名,工資,以及工資所對應的級別。
SELECT EMPNO,ENAME,SAL,SALGRADE.* FROM SALGRADE,EMP WHERE EMP.SAL BETWEEN LOSAL AND HISAL; |
REM 顯示僱員的編號,姓名,工資,工資級別,所在部門的名稱;
SELECT EMPNO,ENAME,SAL,GRADE,DNAME FROM EMP,DEPT,SALGRADE WHERE EMP.DEPTNO = DEPT.DEPTNO AND EMP.SAL BETWEEN LOSAL AND HISAL; |
4. 自連線
自連線是資料庫中經常要用的連線方式,使用自連線可以將自身表的一個映象當作另一個表來對待,從而能夠得到一些特殊的資料。下面介紹一下自連線的方法:
將原表複製一份作為另一個表,兩表做笛卡兒相等連線。
例 顯示僱員的編號,名稱,以及該僱員的經理名稱
SELECT WORKER.ENAME,WORKER.MGR,MANAGER.EMPNO,MANAGER.ENAME FROM EMP WORKER,EMP MANAGER
WHERE WORKER.MGR = MANAGER.EMPNO;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11172773/viewspace-690210/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Sqlserver執行計劃中表的四種連線方式SQLServer
- Oracle資料庫連線方式Oracle資料庫
- Oracle資料庫伺服器的兩種連線方式Oracle資料庫伺服器
- mybatis連線資料庫的幾種方式MyBatis資料庫
- Oracle資料庫的四種啟動方式Oracle資料庫
- 連線MySQL資料庫的兩種方式介紹MySql資料庫
- SQL中的四種連線方式SQL
- Spring連線資料庫的幾種常用的方式Spring資料庫
- oracle資料庫透過sqlplus連線的幾種方式介紹Oracle資料庫SQL
- 資料庫連線的方法種種資料庫
- 各種連線資料庫的連線字串資料庫字串
- Wordpress獨立站資料庫連線錯誤的三種解決方式資料庫
- Java連線oracle資料庫的兩種常用方法JavaOracle資料庫
- python連線clickhouse資料庫的兩種方式小結Python資料庫
- 117 遠端連線mysql資料庫的幾種方式MySql資料庫
- Oracle資料庫遠端連線設定的四種方法及其注意事項Oracle資料庫
- Oracle的三種表連線方式Oracle
- Oracle中表連線的執行原理Oracle
- 各種資料庫連線資料庫
- 使用hostname方式連線資料庫!資料庫
- 各種資料庫的jdbc驅動下載及連線方式資料庫JDBC
- [資料庫][SQL]圖解各種連線join資料庫SQL圖解
- Oracle資料庫中的表連線方式及使用場合Oracle資料庫
- 《四 資料庫連線池原始碼》手寫資料庫連線池資料庫原始碼
- Oracle中表的連線及其調整(一)Oracle
- Oracle中表的連線及其調整(二)Oracle
- MySQL client客戶端的四種連線方式MySqlclient客戶端
- Oracle連線MongoDB資料庫OracleMongoDB資料庫
- Java連線oracle資料庫JavaOracle資料庫
- MySQL 簡潔連線資料庫方式MySql資料庫
- ASP,access資料庫連線方式大全資料庫
- Oracle 資料庫連線錯誤解決方法Oracle資料庫
- JDBC連線各種資料庫的字串JDBC資料庫字串
- HGAdmin無法連線本地資料庫解決方式資料庫
- .Net與Oracle的資料庫連線Oracle資料庫
- Android連線網路資料庫的方式Android資料庫
- 資料庫表的連線方式及用法(一)資料庫
- 【Oracle】Python 連線Oracle 資料庫OraclePython資料庫