1.5 學習Oracle-多表查詢
阿新 • • 發佈:2021-10-06
Oracle資料庫學習教程
多表查詢
仔細看上面的圖片
多表操作,首先會生成笛卡爾全集表.多表查詢就是按照給定條件(連線條件),從笛卡爾全集中選出正確的結果
根據連線條件的不同可以劃分為:等值連結、不等值連結、外連結、自連線
1.等值連線
emp表: 記錄了員工姓名,部門ID等,沒有部門名
dept表: 記錄了部門ID,部門名等
多表: 現在需要,員工名和部門名,很明顯需要兩張表的資訊
所以需要新增where選出真正需要的資料
如果有N張表,至少需要N-1個條件.
2.不等值連線
工資級別表
下面是不等值連線(使用between..and更合適)
3.外連線
統計各部門人數:
也就是包含一些不符合where條件的資料
左外連結:當 where e.deptno=d.deptno 不成立的時候,=左邊所表示的資訊,仍然被包含。
- 寫法:與叫法相反:where e.deptno=d.deptno(+)
右外連結:當 where e.deptno=d.deptno 不成立的時候,=右邊所表示的資訊,仍然被包含。
- 寫法:依然與叫法相反:where e.deptno(+)=d.deptno
4.自連線
核心,通過表的別名,將同一張表視為多張表。
select e.ename || ' 的老闆是 ' || nvl(b.ename, '他自己' )from emp e, emp b where e.mgr=b.empno(+)
本文來自部落格園,作者:Ovins,轉載請註明原文連結:https://www.cnblogs.com/ovins/p/15371510.html
喜歡請點關注❤️ ❤️ ❤️