自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle中表的四種連接方式講解

數(shù)據(jù)庫 Oracle
表的連接是指在一個SQL語句中通過表與表之間的關(guān)連,從一個或多個表中檢索相關(guān)的數(shù)據(jù),大體上表與表之間的連接主要可分四種,分別為相等連接,外連接,不等連接和自連接,本文將主要從以下幾個典型的例子來分析Oracle表的四種連接方式。

Oracle數(shù)據(jù)庫連接是指在一個SQL語句中通過表與表之間的關(guān)連,從一個或多個表中檢索相關(guān)的數(shù)據(jù),大體上表與表之間的連接主要可分四種,分別為相等連接,外連接,不等連接和自連接,本文將主要從以下幾個典型的例子來分析Oracle表的四種不同連接方式,希望下文中講到的對大家能夠有所幫助。

1. 相等連接

通過兩個表具有相同意義的列,可以建立相等連接條件。

只有連接列上在兩個表中都出現(xiàn)且值相等的行才會出現(xiàn)在查詢結(jié)果中。

例 查詢員工信息以及對應(yīng)的員工所在的部門信息;

SELECT * FROM EMP,DEPT;

SELECT * FROM EMP,DEPT

WHERE EMP.DEPTNO = DEPT.DEPTNO;

REM 顯示工資超過2000的員工信息以及對應(yīng)的員工的部門名稱。

2. 外連接

對于外連接,Oracle中可以使用“(+)”來表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN,下面將配合實(shí)例一一介紹。除了顯示匹配相等連接條件的信息之外,還顯示無法匹配相等連接條件的某個表的信息。

外連接采用(+)來識別。

A) 左條件(+) = 右條件;

代表除了顯示匹配相等連接條件的信息之外,還顯示右條件所在的表中無法匹配相等連接條件的信息。

此時也稱為"右外連接".另一種表示方法是:

SELECT ... FROM 表1 RIGHT OUTER JOIN 表2 ON 連接條件

B) 左條件 = 右條件(+);

代表除了顯示匹配相等連接條件的信息之外,還顯示左條件所在的表中無法匹配相等連接條件的信息。

此時也稱為"左外連接".

SELECT ... FROM 表1 LEFT OUTER JOIN 表2 ON 連接條件

例 顯示員工信息以及所對應(yīng)的部門信息

無法顯示沒有部門的員工信息

無法顯示沒有員工的部門信息

SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO;

直接做相等連接:

SELECT * FROM EMP JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO;

REM 顯示員工信息以及所對應(yīng)的部門信息,顯示沒有員工的部門信息

SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO(+) = DEPT.DEPTNO;

SELECT * FROM EMP RIGHT OUTER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO;

REM 顯示員工信息以及所對應(yīng)的部門信息,顯示沒有部門的員工信息

SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO(+);

SELECT * FROM EMP LEFT OUTER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO;

3. 不等連接

兩個表中的相關(guān)的兩列進(jìn)行不等連接,比較符號一般為>,<,...,BETWEEN.. AND..

REM SALGRADE

DESC SALGRADE;

SELECT * FROM SALGRADE;

REM 顯示員工的編號,姓名,工資,以及工資所對應(yīng)的級別。

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. 自連接

自連接是數(shù)據(jù)庫中經(jīng)常要用的連接方式,使用自連接可以將自身表的一個鏡像當(dāng)作另一個表來對待,從而能夠得到一些特殊的數(shù)據(jù)。下面介紹一下自連接的方法:

將原表復(fù)制一份作為另一個表,兩表做笛卡兒相等連接。

例 顯示雇員的編號,名稱,以及該雇員的經(jīng)理名稱

SELECT WORKER.ENAME,WORKER.MGR,MANAGER.EMPNO,MANAGER.ENAME FROM EMP WORKER,EMP MANAGER

WHERE WORKER.MGR = MANAGER.EMPNO;

Oracle數(shù)據(jù)庫中表的連接方式就分為上文中介紹的四種,掌握好Oracle數(shù)據(jù)庫中表的連接方式是大家學(xué)好Oracle數(shù)據(jù)庫的基礎(chǔ)知識,也是大家必須要掌握的,希望大家都能夠從上文中涉及到的內(nèi)容中有所收獲。

 

責(zé)任編輯:迎迎 來源: 中國IT實(shí)驗(yàn)室
相關(guān)推薦

2011-03-21 12:51:16

Oracle數(shù)據(jù)庫表連接

2010-04-08 18:45:35

Oracle數(shù)據(jù)庫

2010-04-07 18:26:43

Oracle數(shù)據(jù)庫

2010-04-06 10:52:06

Oracle數(shù)據(jù)庫

2011-03-14 13:33:32

Oracle數(shù)據(jù)庫啟動

2010-04-19 16:08:31

Oracle數(shù)據(jù)庫

2015-08-21 13:50:49

Oracle連接

2010-04-06 11:02:30

Oracle 數(shù)據(jù)庫

2010-07-28 13:54:42

Flex數(shù)據(jù)綁定

2022-03-25 14:47:24

Javascript數(shù)據(jù)類型開發(fā)

2023-05-22 08:03:28

JavaScrip枚舉定義

2017-04-17 19:31:03

Android多線程

2013-06-14 15:24:57

Android開發(fā)移動開發(fā)數(shù)據(jù)存儲方式

2020-06-12 08:28:29

JavaScript開發(fā)技術(shù)

2010-04-19 12:51:18

筆記本無線連接

2014-12-25 09:41:15

Android加載方式

2021-12-22 09:34:01

Golagn配置方式

2013-10-17 09:25:52

2015-04-02 16:54:52

災(zāi)難恢復(fù)VDI災(zāi)難恢復(fù)

2015-04-13 11:39:26

VDI災(zāi)難恢復(fù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號