Oracle中表的四種連接方式講解
1. 相等連接相等連接是通過(guò)兩個(gè)表具有相同意義的列來(lái)建立連接條件。只有在連接列上在兩個(gè)表中都出現(xiàn)且值相等的行才會(huì)出現(xiàn)在查詢結(jié)果中。例如,我們想要查詢員工信息以及對(duì)應(yīng)的員工所在的部門信息:```SELE
1. 相等連接
相等連接是通過(guò)兩個(gè)表具有相同意義的列來(lái)建立連接條件。只有在連接列上在兩個(gè)表中都出現(xiàn)且值相等的行才會(huì)出現(xiàn)在查詢結(jié)果中。
例如,我們想要查詢員工信息以及對(duì)應(yīng)的員工所在的部門信息:
```
SELECT * FROM EMP, DEPT;
SELECT * FROM EMP, DEPT WHERE ;
```
2. 外連接
外連接可以顯示匹配相等連接條件的信息,同時(shí)也顯示無(wú)法匹配相等連接條件的某個(gè)表的信息。在Oracle中,外連接可以使用"()"來(lái)表示,9i版本還可以使用LEFT/RIGHT/FULL OUTER JOIN關(guān)鍵詞來(lái)表示。
左外連接(LEFT OUTER JOIN)表示除了顯示匹配相等連接條件的信息之外,還顯示左條件所在的表中無(wú)法匹配相等連接條件的信息。右外連接(RIGHT OUTER JOIN)則相反,顯示右條件所在的表中無(wú)法匹配相等連接條件的信息。
例如,我們想要顯示員工信息以及所對(duì)應(yīng)的部門信息,包括沒有部門的員工信息和沒有員工的部門信息:
```
SELECT * FROM EMP, DEPT WHERE ; --直接做相等連接
SELECT * FROM EMP JOIN DEPT ON ; --左外連接
SELECT * FROM EMP, DEPT WHERE () ; --右外連接
SELECT * FROM EMP RIGHT OUTER JOIN DEPT ON ; --右外連接
SELECT * FROM EMP, DEPT WHERE (); --左外連接
SELECT * FROM EMP LEFT OUTER JOIN DEPT ON ; --左外連接
```
3. 不等連接
不等連接是通過(guò)兩個(gè)表中的相關(guān)列進(jìn)行不等連接,比較符號(hào)一般為gt(大于)、lt(小于)、BETWEEN.. AND..等。
例如,我們想要顯示員工的編號(hào)、姓名、工資以及工資所對(duì)應(yīng)的級(jí)別:
```
SELECT EMPNO, ENAME, SAL, SALGRADE.* FROM SALGRADE, EMP WHERE BETWEEN LOSAL AND HISAL;
```
4. 自連接
自連接是數(shù)據(jù)庫(kù)中經(jīng)常使用的連接方式,通過(guò)將自身表的一個(gè)鏡像當(dāng)作另一個(gè)表來(lái)對(duì)待,可以得到一些特殊的數(shù)據(jù)。
例如,我們想要顯示雇員的編號(hào)、名稱以及該雇員的經(jīng)理名稱:
```
SELECT WORKER.ENAME, , MANAGER.EMPNO, MANAGER.ENAME FROM EMP WORKER, EMP MANAGER WHERE MANAGER.EMPNO;
```
以上就是Oracle中表的四種連接方式的講解,希望對(duì)你有所幫助。