程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> 用SQL進行多表查詢

用SQL進行多表查詢

編輯:關於Oracle數據庫

  所謂多表查詢是相對單表而言的,指從多個數據表中查詢數據,這裡我們主要學習從兩個數據表中如何查詢數據的方法。

  4.3.1 無條件多表查詢

  無條件多表查詢是將各表的記錄以“笛卡爾”積的方式組合起來。

  如scott.dept表共有4條記錄,scott.emp表共有14條記錄,其“笛卡爾”積將有4*14=56條記錄。

  在【命令編輯區】執行下列語句。

  ――――――――――――――――――――――――――――――――――――――

  select emp.empno,emp.ename,emp.deptno,dept.dname,dept.loc from scott.emp,scott.dept;   ――――――――――――――――――――――――――――――――――――――

  單擊【執行】按鈕,出現如圖4.16所示的結果。

  【參見光盤文件】:\第4章\4.3\431.sql。

  4.3.2 等值多表查詢

  在【命令編輯區】執行下列語句。

  ―――――――――――――――――――――――――――――――――――――

  select emp.empno, emp.ename, emp.deptno, dept.dname,dept.loc from scott.emp,scott.dept where   scott.emp.deptno=scott.dept.deptno;

  ―――――――――――――――――――――――――――――――――――――

  單擊【執行】按鈕,出現如圖4.17所示的結果。

  【參見光盤文件】:\第4章\4.3\432.sql。

  等值多表查詢將按照等值的條件查詢多個數據表中關聯的數據。要求關聯的多個數據表的某些字段具有相同的屬性,即具有相同的數據類型、寬度和取值范圍。

  4.3.3 非等值多表查詢

  在【命令編輯區】執行下列語句。

  ―――――――――――――――――――――――――――――――――――――

  select emp.empno, emp.ename, emp.deptno, dept.dname,dept.loc from scott.emp,scott.dept where   scott.emp.deptno!=scott.dept.deptno and scott.emp.deptno=10;   ―――――――――――――――――――――――――――――――――――――

  單擊【執行】按鈕,出現如圖4.18所示的結果。

  【參見光盤文件】:\第4章\4.3\433.sql。

  在非等值多表查詢中,讀者可以使用表4.1所示的比較運算符來組合查詢條件。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved