C -u và thư cơ d
Cỏc truy vấn lồng nhau
Để tỡm mó số và tờn những nhõn viờn phũng ‘Kỹ thuật’ cú thể dựng cõu truy vấn sau
SELECT manv, ho_ten
FROM nhan_vien
WHERE ma_dv IN
(SELECT ma_dv
FROM phong
WHERE ten_phong = ‘Kỹ thuật’);
58
Cỏc truy vấn lồng nhau
Xột cõu hỏi: ‘Tỡm tờn của những nhõn viờn cú lương đạt trờn mức lương trung bỡnh của tất cả cỏc nhõn viờn, đồng thời cho biết luụn mức chờnh lệch này’
SELECT ho_ten , luong – (SELECT AVG(luong) FROM
nhan_vien) AS hieu FROM nhan_vien WHERE luong > (SELECT AVG(luong) FROM nhan_vien); 59 NGễN NGỮ SQL
Cỏc truy vấn lồng nhau
Cõu ORDER BY khụng được sử dụng trong một cõu truy vấn con mặc dự nú cú thể được dựng trong cõu truy vấn ngoài
cựng.
Danh sỏch cỏc mục được liệt kờ bởi cõu truy vấn con
SELECT phải chứa tờn của một cột hoặc một biểu thức trừ phi cõu truy vấn con này dựng từ khúa EXISTS.
60
Cỏc truy vấn lồng nhau
Theo ngầm định, cỏc tờn cột trong cõu truy vấn con tham chiếu đến tờn bảng trong cõu FROM của truy vấn con này, hoặc cú thể tham chiếu đến bảng trong cõu FROM của truy vấn ngoài bằng việc xỏc định tờn cột đú.
Khi một cõu truy vấn con là một trong hai toỏn hạng của một biểu thức so sỏnh thỡ truy vấn con này phải xuất hiện ở vế phải của so sỏnh.
61
Cỏc truy vấn lồng nhau
Muốn biết thụng tin về những nhõn viờn làm việc cho đơn vị cú địa điểm là ’23 Lý Thường Kiệt’, cú thể dựng truy vấn như sau SELECT *
FROM nhan_vien
WHERE ma_dv IN
(SELECT ma_dv
FROM dia_diem_dv
WHERE dia_diem = ’23 Lý Thường Kiệt);
62
Cỏc truy vấn lồng nhau
“ Tỡm tờn và lương của những người cú lương cao hơn lương mọi nhõn viờn thuộc đơn vị mó P2 “.