Bài giảng Microsoft SQL Server - Bài 7: Truy vấn con - Lê Thị Tú Kiên

Bài 8: Truy vấn con  
1
Mục tiêu:  
- Kĩ năng: Tạo truy vấn Select lồng nhau.  
- Kiến thức:  
- Cách viết truy vấn con trong các mệnh đề WHERE, HAVING,  
FROM, SELECT.  
- Cách viết truy vấn con có quan hệ và không có liên quan.  
2
- Định nghĩa truy vấn con: là truy vấn Select nằm trong truy vấn Select khác.  
- 4 vị trí có thể đặt truy vấn con:  
- Trong mệnh đề WHERE giống như một điều kiện tìm kiếm  
- Trong mệnh đề HAVING giống như một điều kiện tìm kiếm  
- Trong mệnh đề FROM giống như một bảng nguồn dữ liệu  
- Trong mệnh đề SELECT giống như một cột  
3
dụ về truy vấn con đặt trong mệnh đề WHERE:  
Cho biết mã nhân viên, tên và lương của các nhân viên có lương cao hơn trung  
bình lương của công ty?  
4
Vị trí truy vấn con có thể được dùng:  
- Nếu truy vấn con trả ra một giá trị thì nó có thể đặt ở bất vị trí nào  
của biểu thức trong câu lệnh.  
- Nếu truy vấn con trả ra một tập giá trị trong một cột thì nó có thể đặt ở  
vị trí của một danh sách giá trị trong câu lệnh.  
- Nếu truy vấn con trả ra một tập giá trị trong một hay nhiều cột thì nó  
chỉ thể đặt ở vị trí bảng trong mệnh đề FROM của câu lệnh.  
5
- Ví dụ so sánh giữa truy vấn liên kết trong (inner join) và truy vấn con.  
- Truy vấn: Cho biết tên các dự án do phòng Nghiên cứu quản lý?  
6
- Ví dụ so sánh giữa truy vấn liên kết trong (inner join) và truy vấn con.  
- Truy vấn: Cho biết tên các dự án do phòng Nghiên cứu quản lý?  
- (Query: Retrieve project names that are managed by Research department.)  
7
Ưu điểm của liên kết:  
- Kết quả của câu lệnh liên kết thể bao gồm ccác cột của các bảng trong  
liên kết.  
- Truy vấn liên kết có xu hướng trực quan hơn khi sử dụng mối quan hệ có  
sẵn giữa các bảng.  
- Một truy vấn liên kết thực hiện nhanh hơn truy vấn con (với cùng một câu  
hỏi).  
Ưu điểm của truy vấn con:  
- Một truy vấn con có thể chuyển tiếp các giá trị tổng hợp (sử dụng các hàm  
gộp nhóm) ra truy vấn ngoài.  
- Truy vấn con có xu hướng trực quan hơn khi sử dụng các mối quan hệ phức  
tạp giữa các bảng.  
- Với các câu hỏi dài và phức tạp thì dùng truy vấn con sẽ dễ viết hơn  
8
dụ về truy vấn con cùng với toán tử IN trong mệnh đề WHERE  
Truy vấn: Cho biết mã phòng, tên phòng chưa có nhân viên nào?  
-Query: Retrieve Ssn, full name of employees who do not work on any project.  
-Question: Could you write query example on slide in another way?  
9
10  
Truy vấn con trong mệnh đề cùng với các toán tử so sánh SOME, ANY, ALL  
11  
12  
dụ truy vấn con với lượng từ ALL:  
Cho biết dự án, tên, h, lương của các nhân viên có lương lớn hơn lương  
của tất cả các nhân viên làm việc ở phòng có mã số là 5?  
- Write the query on the slide by using Max() function.  
- Query: Retrieve Ssn, first name, last name, salary, department number,  
department name of employees whose salaries are smaller or equal than all  
salaries of employees working for Research department.  
13  
14  
15  
dụ truy vấn con với ANY:  
Cho biết dự án, tên, h, lương của các nhân viên có lương lớn hơn lương  
bất của một nhân viên nào đó làm việc ở phòng có mã số là 5?  
16  
dụ về truy vấn ngoài có quan hệ với truy vấn con:  
Cho biết mã nhân viên, tên, h, mã dự án của các nhân viên có số giwof công  
lơn hơn trung bình giwof công của dự án đó?  
- Query: Retrieve Ssn, first name, last name, project number of employees  
whose working hours are greater than average working hours of that project.  
17  
dụ truy vấn con với lượng từ EXISTS:  
Cho biết mã nhân viên, tên, họ, lương của các nhân viên không tham gia dự  
án nào?  
- Query: Retrieve Ssn, first name, last name of employees who do not join  
any project.  
18  
dụ về một truy vấn con đặt ở mệnh đề FROM  
19  
20  
Tải về để xem bản đầy đủ
pdf 22 trang yennguyen 08/04/2022 209000
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Microsoft SQL Server - Bài 7: Truy vấn con - Lê Thị Tú Kiên", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_microsoft_sql_server_bai_7_truy_van_con_le_thi_tu.pdf