Bài giảng thực hành cơ SỞ DỮ liệU



tải về 4.27 Mb.
Chế độ xem pdf
trang31/43
Chuyển đổi dữ liệu13.11.2023
Kích4.27 Mb.
#55638
1   ...   27   28   29   30   31   32   33   34   ...   43
TH CSDL 2015Sep
NEW.Bài giảng CSDL sau nghiệm thu-2023, 6. Đề cương Cơ sở dữ liệu- sau nghiệm thu. 23.02.2022, Chuong01-CSDL
 


76 
Bài thực hành số 7 
Các phép nối bảng dữ liệu 
 
Nội dung chính: 
Trong các bài thực hành trước, các truy vấn được thực hiện 
trên một bảng dữ liệu. Không ngạc nhiên khi rất nhiều truy vấn yêu cầu thông tin 
từ nhiều bảng dữ liệu khác nhau. Ví dụ muốn đưa ra thông tin khách hàng của các 
đơn hàng, cần kết hợp thông tin từ hai bảng dữ liệu là customers và orders. Kết 
hợp các bảng dữ liệu để tạo ra một bảng suy diễn được gọi là phép nối (join). 
Trong bài này, chúng ta sẽ làm quen với phép toán nối để truy vấn dữ liệu từ 
nhiều bảng : INNER JOIN, LEFT JOIN, SELF JOIN
 
1. PHÉP NỐI TRONG (INNER JOIN) 
INNER JOIN hay còn gọi là phép nối trong, là một phần tùy chọn của câu lệnh 
SELECT. Nó xuất hiện liền ngay sau mệnh đề FROM. Trước khi sử dụng INNER JOIN,
phải xác định rõ các tiêu chí sau đây: 
 
Trước tiên, cần phải xác định các bảng mà muốn liên kết với bảng chính. Bảng 
chính xuất hiện trong mệnh đề FROM. Bảng muốn nối với bảng chính phải xuất 
hiện sau từ khóa INNER JOIN. Về mặt lý thuyết, có thể nối một bảng với số 


77 
lượng không giới hạn các bảng khác, tuy nhiên, để có hiệu suất tốt hơn, nên hạn 
chế số lượng bảng tham gia phép nối dựa trên các điều kiện nối và khối lượng dữ 
liệu trong các bảng. 
 
Thứ hai, cần phải xác định điều kiện nối. Điều kiện nối xuất hiện sau từ khóa 
ON. Điều kiện nối chính là nguyên tắc để tìm được các bản ghi phù hợp trong các 
bảng và nối chúng lại với nhau. 
Cú pháp INNER JOIN như sau: 
SELECT column_list 
FROM table1 
INNER JOIN table2 ON join_condition1 
INNER JOIN table3 ON join_condition2 
... 
WHERE WHERE_conditions;
Ví dụ, nếu nối hai bảng A và B, INNER JOIN so sánh mỗi bản ghi của bảng A với mỗi 
bản ghi của bảng B để tìm tất cả các cặp bản ghi đáp ứng được điều kiện nối. Khi điều 
kiện nối được thoả mãn, giá trị cột cho mỗi cặp bản ghi phù hợp của bảng A và bảng B 
được kết hợp thành một bản ghi trong kết quả trả về. 
Hạn chế sự trùng tên cột khi sử dụng INNER JOIN: 
Nếu nối nhiều bảng có cột với tên 
tương tự, phải chỉ rõ tên bảng có chứa cột dữ liệu định lấy để tránh lỗi cột không rõ 
ràng.
Giả sử nếu bảng
tbl_A 

tbl_B 
có các cột tương tự
M 
.
Trong câu lệnh SELECT 
với INNER JOIN, phải tham chiếu tới cột
M 
bằng cách sử dụng cú pháp như
tbl_A.M 

Ví dụ: Hãy xem xét hai bảng products và orderDetails. Bảng products là bảng dữ liệu 
tổng thể lưu trữ tất cả các sản phẩm.
Bất cứ khi nào một sản phẩm được bán ra, nó được 
lưu trữ trong bảng OrderDetails cùng với các thông tin khác.
Liên kết giữa các bảng này 
là cột productCode 



tải về 4.27 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   27   28   29   30   31   32   33   34   ...   43




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương