所謂多表查詢是相對單錶而言的,指從多個資料表中查詢資料,這裡我們主要學習從兩個資料表中如何查詢資料的方法。
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所示的比較運算子來組合查詢條件。
用SQL進行多表查詢
所謂多表查詢是相對單錶而言的,指從多個資料表中查詢資料,這裡我們主要學習從兩個資料表中如何查詢資料的方法。4.3.1 無條件多表查詢 無條件多表查詢是將各表的記錄以 笛卡爾 積的方式組合起來。如scott.dept表共有4條記錄,scott.emp表共有14條記錄,其 笛卡爾 積將有4 14 56條...
SQL 多表查詢
不同的 sql join inner join 內連線 如果表中至少有乙個匹配,也從左表返回所有的行 left join 左連線 即使右表中沒有匹配,也從右表返回所有的行 right join 右連線 即使左表中沒有匹配,也從右表返回所有的行 full join 全連線 只有其中乙個表中存在匹配也從...
SQL 多表查詢
join操作符 1.笛卡爾積,rxs 可直接轉換為sql語句 2.等值連線,記作 可直接轉換為sql語句 3.自然連線,記作 可轉換為sql語句 4.左外連線和右外連線的表示方法及轉換為sql 注意若多個關係有同名屬性,則用 關係名.屬性名 指出重名屬性 連線也可以與投影,選擇等結合使用。1.查詢選...