Oracle PL/SQL塊 多表查詢(emp員工表、dept部門表、salgrade工資等級表)


范例: 查詢每個員工的編號,姓名,職位,工資,工資等級,部門名稱
   ●確定要使用的數據表
     |- emp表:員工的編號、姓名、職位、工資
     |- salgrade表:工資等級
     |- dept表:部門名稱
   ●確定已知的關聯字段
     |- emp表與salgrade表: emp.sal BETWEEN salgrade.losal AND salgrade.hisal
     |- emp表與dept表: emp.deptno=dept.deptno
     
   一般情況下如果是多個消除笛卡爾積的條件都會使用AND連接 -- 第一步:查詢每個員工的編號,姓名,職位,工資
SELECT e.empno,e.ename,e.job,e.sal
FROM emp e;
-- 第二步:加入工資等級的查詢   此時要設置WHERE 子句
SELECT e.empno,e.ename,e.job,e.sal,s.grade
FROM emp e,salgrade s
WHERE e.sal BETWEEN s.losal AND s.hisal;
-- 第三步:查詢部門信息  增加dept表的查詢   此時需要增加一個消除笛卡爾積的條件   與之前的條件使用AND連接
SELECT e.empno,e.ename,e.job,e.sal,s.grade,d.dname
FROM emp e,salgrade s,dept d
WHERE e.sal BETWEEN s.losal AND s.hisal
AND e.deptno=d.deptno;

 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM