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

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

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

Trang 1

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

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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

Trang 9

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

Trang 10

Tải về để xem bản đầy đủ

pdf 22 trang xuanhieu 4000
Bạn đang xem 10 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

Tóm tắt nội dung tài liệu: Bài giảng Microsoft SQL Server - Bài 7: Truy vấn con - Lê Thị Tú Kiên

Bài giảng Microsoft SQL Server - Bài 7: Truy vấn con - Lê Thị Tú Kiên
1 
Bài 8: Truy vấn con 
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 
Ví 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 kì 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ỉ có 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 có thể bao gồm cả cá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 
Ví 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 
Ví dụ truy vấn con với lượng từ ALL: 
Cho biết mã 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 
Ví dụ truy vấn con với ANY: 
Cho biết mã 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 kì của một nhân viên nào đó làm việc ở phòng có mã số là 5? 
16 
Ví 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 
Ví 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 
Ví dụ về một truy vấn con đặt ở mệnh đề FROM 
19 
20 
Ví dụ về một truy vấn con đặt ở mệnh đề SELECT 
21 
22 

File đính kèm:

  • pdfbai_giang_microsoft_sql_server_bai_7_truy_van_con_le_thi_tu.pdf