回覆列表
  • 1 # 使用者1760858134037

    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,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO;  --直接做相等連線:  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、不等連線  兩個表中的相關的兩列進行不等連線,比較符號一般為>,

  • 中秋節和大豐收的關聯?
  • 興義跟凱里比哪個城市最歷害?