Tải bản đầy đủ (.pdf) (2 trang)

Các lệnh truy vấn lồng nhau

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (98.35 KB, 2 trang )

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ệ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 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

×