Công ty cổ phần đầu t phát triển công nghệ - FPT Giáo trình SQL và PL/SQL Đào tạo cơ bản: SQL và PL/SQL Trang 39 ---------- ---------- ---------- ---------- BLAKE 2850 BLAKE 2850 MARTIN 1250 BLAKE 2850 ALLEN 1600 BLAKE 2850 TURNER 1500 BLAKE 2850 JAMES 950 BLAKE 2850 WARD 1250 BLAKE 2850 CLARK 2450 CLARK 2450 MILLER 1300 CLARK 2450 JONES 2975 JONES 2975 FORD 3000 JONES 2975 SMITH 800 JONES 2975 SCOTT 3000 JONES 2975 ADAMS 1100 JONES 2975 13 rows selected. 11. Hiển thị nghề nghiệp đợc tuyển dụng vào năm 1981 và không đợc tuyển dụng vào năm 1994. 12. Tìm những nhân viên gia nhập công ty trớc giám đốc của họ. 8 Các lệnhtruyvấn lồng nhau 8.1 Câu lệnh SELECT lồng nhau. Trong mệnh đề WHERE /Tìm những nhân viên làm cùng nghề với BLAKE/ select ename, job from emp where job = (select job from emp where ename = BLAKE); ENAME JOB ---------- -------- BLAKE MANAGER CLARK MANAGER JONES MANAGER Trong mệnh đề HAVING /Tìm những phòng có mức lơng trung bình lớn hơn phòng 30/ SELECT DEPTNO, AVG(SAL) FROM EMP HAVING AVG(SAL) > (SELECT AVG(SAL) FROM EMP WHERE DEPTNO =30) GROUP BY DEPTNO; DEPTNO AVG(SAL) --------- ---------- 10 2916.66667 20 2175 Toán tử SOME/ANY/ALL/NOT IN/EXITS NOT IN : Không thuộc ANY và SOME : So sánh một giá trị với mỗi giá trị trong một danh sách hay trong kết quả trả về của câu hỏi con, phải sau toán tử = ALL : So sánh một giá trị với mọi giá trị trong danh sách hay trong kết quả trả về của câu hỏi con. EXISTS : Trả về TRUE nếu có tồn tại. Ví dụ Công ty cổ phần đầu t phát triển công nghệ - FPT Giáo trình SQL và PL/SQL Đào tạo cơ bản: SQL và PL/SQL Trang 40 SELECT * FROM emp WHERE sal = ANY (SELECT sal FROM emp WHERE deptno=30); SELECT * FROM emp WHERE sal >= ALL ( select distinct sal From emp Where deptno =30) Order by sal desc; SELECT ENAME, SAL, JOB, DEPTNO FROM EMP WHERE SAL > SOME ( SELECT DISTINCT SAL FROM EMP WHERE DEPTNO =30) ORDER BY SAL DESC; SELECT EMPNO, ENAME, JOB, DEPTNO FROM EMP E WHERE EXISTS ( SELECT EMPNO FROM EMP WHERE EMP.MGR = E.EMPNO); /Tìm những ngời có nhân viên/ 8.2 Bài tập 9 Cấu trúc hình cây 9.1 Cấu trúc hình cây trong 1 table Trong một table của CSDL ORACLE có thể hiện cấu trúc hình cây. Ví dụ trong bảng EMP cấu trúc thể hiện cấp độ quản lý. KING EMPNO = 7839 CLARK JONES BLAKE Mgr =7839 MILER SCOTT FORD ALLEN WARD MARTIN TUNNER JAMES ADAMS SMITH KING EMPNO = 7839 CLARK JONES BLAKE Mgr =7839 MILER SCOTT FORD ALLEN WARD MARTIN TUNNER JAMES ADAMS SMITH . nhân viên gia nhập công ty trớc giám đốc của họ. 8 Các lệnh truy vấn lồng nhau 8.1 Câu lệnh SELECT lồng nhau. Trong mệnh đề WHERE /Tìm những nhân viên làm