Bài giảng Microsoft SQL Server - Bài 5: Truy vấn dữ liêu trên hai hoặc nhiều bảng - Lê Thị Tú Kiên

Mục tiêu bài giảng:

• Ứng dụng:

• Biết cách viết câu truy vấn có liên kết (liên kết trong) trên nhiều

bảng.

• Biết cách sử dụng câu lệnh union.

• Kiến thức:

• Phân biệt sự khác nhau giữa liên kết trong (inner join), liên kết ngoài

trái (left outer join), liên kết ngaoif phải (right outer join), liên kết

ngoài đầy đủ (full outer join) và liên kết chéo (cross join).

• Giải thích tại sao không cần dùng right outer join.

• Mô tả cú pháp câu lệnh liên kết trong không tường minh.

• Mô tả cách sử dụng các phép toán UNION, EXCEPT, INTERSECT

Bài giảng Microsoft SQL Server - Bài 5: Truy vấn dữ liêu trên hai hoặc nhiều bảng - Lê Thị Tú Kiên trang 1

Trang 1

Bài giảng Microsoft SQL Server - Bài 5: Truy vấn dữ liêu trên hai hoặc nhiều bảng - Lê Thị Tú Kiên trang 2

Trang 2

Bài giảng Microsoft SQL Server - Bài 5: Truy vấn dữ liêu trên hai hoặc nhiều bảng - Lê Thị Tú Kiên trang 3

Trang 3

Bài giảng Microsoft SQL Server - Bài 5: Truy vấn dữ liêu trên hai hoặc nhiều bảng - Lê Thị Tú Kiên trang 4

Trang 4

Bài giảng Microsoft SQL Server - Bài 5: Truy vấn dữ liêu trên hai hoặc nhiều bảng - Lê Thị Tú Kiên trang 5

Trang 5

Bài giảng Microsoft SQL Server - Bài 5: Truy vấn dữ liêu trên hai hoặc nhiều bảng - Lê Thị Tú Kiên trang 6

Trang 6

Bài giảng Microsoft SQL Server - Bài 5: Truy vấn dữ liêu trên hai hoặc nhiều bảng - Lê Thị Tú Kiên trang 7

Trang 7

Bài giảng Microsoft SQL Server - Bài 5: Truy vấn dữ liêu trên hai hoặc nhiều bảng - Lê Thị Tú Kiên trang 8

Trang 8

Bài giảng Microsoft SQL Server - Bài 5: Truy vấn dữ liêu trên hai hoặc nhiều bảng - Lê Thị Tú Kiên trang 9

Trang 9

Bài giảng Microsoft SQL Server - Bài 5: Truy vấn dữ liêu trên hai hoặc nhiều bảng - Lê Thị Tú Kiên trang 10

Trang 10

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

pdf 30 trang xuanhieu 3900
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Microsoft SQL Server - Bài 5: Truy vấn dữ liêu trên hai hoặc nhiều bảng - 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 5: Truy vấn dữ liêu trên hai hoặc nhiều bảng - Lê Thị Tú Kiên

Bài giảng Microsoft SQL Server - Bài 5: Truy vấn dữ liêu trên hai hoặc nhiều bảng - Lê Thị Tú Kiên
1 
Truy vấn dữ liêu trên hai hoặc nhiều bảng 
Mục tiêu bài giảng: 
• Ứng dụng: 
• Biết cách viết câu truy vấn có liên kết (liên kết trong) trên nhiều 
bảng. 
• Biết cách sử dụng câu lệnh union. 
• Kiến thức: 
• Phân biệt sự khác nhau giữa liên kết trong (inner join), liên kết ngoài 
trái (left outer join), liên kết ngaoif phải (right outer join), liên kết 
ngoài đầy đủ (full outer join) và liên kết chéo (cross join). 
• Giải thích tại sao không cần dùng right outer join. 
• Mô tả cú pháp câu lệnh liên kết trong không tường minh. 
• Mô tả cách sử dụng các phép toán UNION, EXCEPT, INTERSECT 
2 
Các bảng dữ liệu ví dụ. 
3 
Cú pháp tường minh và không tường minh của liên kết trong 
4 
Ví dụ liên kết trong giữa hai bảng Employee và Department. 
Trong liên kết trong, những cặp bản ghi nào của hai bảng làm cho biểu thức 
điều kiện sau ON đúng thì sẽ được liên kết với nhau để tạo thành bản ghi mới 
trong bảng kết quả. 
5 
Cấu trúc lệnh tường minh của liên kết ngoài. 
Có 3 loại liên kết ngoài: ngoài trái, ngoài phải và liên kết ngoài trái và phải. 
6 
Kết quả phép liên kết ngoài trái giữa Department (trái) và Employee (phải). 
Trong liên kết ngoài trái, kết quả bao gồm những cặp bản ghi của hai bảng làm 
cho biểu thức điều kiện sau ON đúng sẽ được liên kết với nhau để tạo thành 
bản ghi mới trong bảng kết quả (giống như liên kết trong) và những bản ghi ở 
bảng trái không liên kết được với bảng ghi nào ở bảng bên phải. 
7 
Kết quả phép liên kết ngoài phải giữa Department (trái) và Employee (phải) 
Trong liên kết ngoài trái, kết quả bao gồm những cặp bản ghi của hai bảng làm 
cho biểu thức điều kiện sau ON đúng sẽ được liên kết với nhau để tạo thành 
bản ghi mới trong bảng kết quả (giống như liên kết trong) và những bản ghi ở 
bảng phải không liên kết được với bảng ghi nào ở bảng bên trái. 
Liên kết ngoài phải thường cho kết quả giống như liên kết trong vì điều kiện 
ràng buộc tham chiếu luôn yêu cầu các giá trị của khóa ngoài đều phải là các 
giá trị đã tồn ở khóa chính mà nó tham chiếu đến. Do đó, không có hàng (bản 
ghi) nào bên bảng chứa khóa ngoài (phải) không liên kết được với bất kì hàng 
nào với bảng chứa khóa chính (trái). 
8 
Kết quả phép liên kết ngoài trái và phải giữa Department (trái) và Employee 
(phải). 
Trong liên kết ngoài trái, kết quả bao gồm hợp của liên kết ngoài trái và liên 
kết ngoài phải. 
9 
Liên kết chéo: kết quả là tích đề các các bản ghi của hai bảng. 
10 
Liên kết chéo sử dụng cú pháp khác. 
11 
12 
Một số slide ví dụ thêm về liên kết 3 bảng, tự liên kết và cách sử dụng các 
phép toán tập hợp trên quan hệ như Union (hợp), Intersect (giao) và Except 
(trừ). 
Ví dụ liên kết ngoài trái giữa 3 bảng. 
13 
Ví dụ liên kết ngoài trái và phải giữa 3 bảng. 
14 
Ví dụ kết hợp liên kết ngoài và liên kết trong. 
15 
16 
17 
Slide hiển thị dữ liệu của các bảng trong CSDL COMPANY . 
Các ví dụ trong các slide tiếp theo sẽ được thực hiện trên CSDL này. 
Cú pháp câu lệnh liên kết trong dạng không tường minh. 
Biểu hức liên kết được đặt trong mệnh đề WHERE. 
18 
Cú pháp câu lệnh liên kết trong có sử dụng tên bí danh (biến bộ) cho các bảng 
19 
Ví dụ truy vấn có sử dụng tên bí danh E cho bảng Employee và D cho bảng 
Department. 
Chú ý: Khi đã đặt tên bí danh cho bảng thì chỉ được dùng các bí danh đó trong 
tất cả các vị trí của câu lệnh, không đực dùng tên thật của bảng nữa. 
20 
Ví dụ về tự liên kết (self-join): 
Truy vấn: Đưa ra tên người quản lí của các nhân viên. 
Trong ví dụ này bảng employee tự liên kết trong với chính nó dựa trên giá trị 
của hai cột SuperSsn và Ssn do đó câu lệnh này bắt buộc phải dùng tên bí danh 
cho bảng Employee. 
(Note: Why does the result including only 7 rows?) 
21 
Ví dụ truy vấn liên kết dữ liệu của 3 bảng: 
For every project located in ‘New York', list the project number, the 
controlling department number, and the department manager's last name, 
address, and birthdate (Với mọi dự án ở New York, đưa ra mã dự án, mã phòng 
quản lý dự án và họ, địa chỉ, ngày sinh của trưởng phòng quản lý dự án đó). 
22 
Cú pháp truy vấn dùng phép toán hợp (Union). 
Một số quy định: 
- Kết quả của các câu truy vấn Select trong truy vấn Union có số cột như 
nhau. 
- Các cặp cột trương ứng trong mỗi kết quả phải có kiểu dữ liệu đối sánh 
được. 
- Tên các cột trong bảng kết quả cuối cùng được lấy từ tên các cột trong kết 
quả của câu lệnh Select đầu tiên. 
23 
Truy vấn: Đưa ra tên của các dự án mà nhân viên có họ là Wong tham gia 
hoặc là trưởng phòng quản lí dự án đó. 
24 
25 
Cú pháp câu truy vấn có sử dụng phép toán tập hợp EXCEPT (hiệu) và 
INTERSEC (giao). 
26 
Intersect example 
Query: Make a list of all project names for projects that involve an employee 
whose last name is 'Wong' as a worker and as a manager of the department 
that controls the project. 
Truy vấn: Đưa ra tên của các dự án mà nhân viên có họ là Wong tham gia và 
là trưởng phòng quản lí dự án đó. 
27 
EXCEPT example 
Query: Make a list of all project names for projects that involve an employee 
whose last name is 'Wong' as a manager of the department that controls the 
project but is not as a worker. 
Truy vấn: Đưa ra tên của các dự án mà nhân viên có họ là Wong là trưởng 
phòng quản lí dự án đó nhưng không tham gia. 
28 
29 
30 

File đính kèm:

  • pdfbai_giang_microsoft_sql_server_bai_5_truy_van_du_lieu_tren_h.pdf