監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

Oracle數(shù)據(jù)庫中表的四種連接方式講解

申請免費(fèi)試用、咨詢電話:400-8352-114

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

  1. 相等連接

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

  只有連接列上在兩個(gè)表中都出現(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í)例一一介紹。除了顯示匹配相等連接條件的信息之外,還顯示無法匹配相等連接條件的某個(gè)表的信息。

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

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

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

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

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

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

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

  此時(shí)也稱為"左外連接".

  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. 不等連接

  兩個(gè)表中的相關(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)常要用的連接方式,使用自連接可以將自身表的一個(gè)鏡像當(dāng)作另一個(gè)表來對待,從而能夠得到一些特殊的數(shù)據(jù)。下面介紹一下自連接的方法:

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

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

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

  WHERE WORKER.MGR = MANAGER.EMPNO;(樊斌 IT專家網(wǎng))

發(fā)布:2007-04-21 14:08    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
長春OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普長春OA行業(yè)資訊其他應(yīng)用

長春OA軟件 長春OA新聞動(dòng)態(tài) 長春OA信息化 長春OA快博 長春OA行業(yè)資訊 長春軟件開發(fā)公司 長春門禁系統(tǒng) 長春物業(yè)管理軟件 長春倉庫管理軟件 長春餐飲管理軟件 長春網(wǎng)站建設(shè)公司