偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

數(shù)據(jù)庫(kù) Oracle
Oracle數(shù)據(jù)庫(kù)表的連接是指在一個(gè)SQL語(yǔ)句中通過(guò)表與表之間的關(guān)連,從一個(gè)或多個(gè)表中檢索相關(guān)的數(shù)據(jù),大體上表與表之間的連接主要可分四種,分別為相等連接,外連接,不等連接和自連接,接下來(lái),本文將為大家詳細(xì)介紹Oracle數(shù)據(jù)庫(kù)中表的四種連接方式。

本文將主要從以下幾個(gè)典型的例子來(lái)分析Oracle表的四種不同連接方式:

  1. 相等連接

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

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

  例 查詢(xún)員工信息以及對(duì)應(yīng)的員工所在的部門(mén)信息;

  SELECT * FROM EMP,DEPT;
  SELECT * FROM EMP,DEPT
  WHERE EMP.DEPTNO = DEPT.DEPTNO;
  REM 顯示工資超過(guò)2000的員工信息以及對(duì)應(yīng)的員工的部門(mén)名稱(chēng)。

  2. 外連接

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

  外連接采用(+)來(lái)識(shí)別。

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

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

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

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

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

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

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

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

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

  --無(wú)法顯示沒(méi)有部門(mén)的員工信息

  --無(wú)法顯示沒(méi)有員工的部門(mén)信息

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

  --直接做相等連接:

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

REM 顯示員工信息以及所對(duì)應(yīng)的部門(mén)信息,顯示沒(méi)有員工的部門(mén)信息

  --SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO(+) = DEPT.DEPTNO;
  SELECT * FROM EMP RIGHT OUTER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO;
  REM 顯示員工信息以及所對(duì)應(yīng)的部門(mén)信息,顯示沒(méi)有部門(mén)的員工信息

  --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)行不等連接,比較符號(hào)一般為>,<,...,BETWEEN.. AND..

  REM SALGRADE
  --DESC SALGRADE;
  --SELECT * FROM SALGRADE;
  REM 顯示員工的編號(hào),姓名,工資,以及工資所對(duì)應(yīng)的級(jí)別。

  SELECT EMPNO,ENAME,SAL,SALGRADE.* FROM SALGRADE,EMP
  WHERE EMP.SAL BETWEEN LOSAL AND HISAL;
  REM 顯示雇員的編號(hào),姓名,工資,工資級(jí)別,所在部門(mén)的名稱(chēng);

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

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

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

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

  WHERE WORKER.MGR = MANAGER.EMPNO;

本文講到的內(nèi)容是Oracle數(shù)據(jù)庫(kù)中表連接的基本知識(shí),對(duì)初學(xué)者來(lái)說(shuō),本文具有很高的參考價(jià)值,希望能夠?qū)Υ蠹矣兴鶐椭?/p>

【編輯推薦】

  1. 輕松解決Oracle數(shù)據(jù)庫(kù)的服務(wù)啟動(dòng)問(wèn)題
  2. Oracle數(shù)據(jù)庫(kù)體系架構(gòu)概要
  3. Oracle數(shù)據(jù)庫(kù)中的字符處理技巧總結(jié)
責(zé)任編輯:迎迎 來(lái)源: IT專(zhuān)家網(wǎng)
相關(guān)推薦

2011-05-20 09:55:26

Oracle連接

2010-04-08 18:45:35

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

2010-04-07 18:26:43

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

2011-03-14 13:33:32

Oracle數(shù)據(jù)庫(kù)啟動(dòng)

2010-04-06 10:52:06

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

2010-04-19 16:08:31

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

2010-04-06 11:02:30

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

2010-04-08 18:54:32

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

2010-04-22 17:36:51

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

2022-09-20 19:37:08

MySQL

2011-08-02 17:26:38

Oracle數(shù)據(jù)庫(kù)遠(yuǎn)程連接

2010-07-28 13:54:42

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

2013-06-14 15:24:57

Android開(kāi)發(fā)移動(dòng)開(kāi)發(fā)數(shù)據(jù)存儲(chǔ)方式

2018-01-03 08:52:27

MySQL數(shù)據(jù)庫(kù)級(jí)別

2018-09-13 14:51:43

NoSQL數(shù)據(jù)庫(kù)大數(shù)據(jù)

2010-04-28 16:23:18

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

2010-10-26 14:06:43

oracle連接遠(yuǎn)程數(shù)

2020-02-27 09:00:00

數(shù)據(jù)庫(kù)設(shè)計(jì)工具

2018-01-08 19:17:21

數(shù)據(jù)庫(kù)Oracle重啟

2011-03-11 16:42:51

Oracle數(shù)據(jù)庫(kù)視圖
點(diǎn)贊
收藏

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