THAM GIA trong SQL Server: Hướng dẫn với các ví dụ
Chúng ta có thể truy xuất dữ liệu từ nhiều bảng bằng câu lệnh JOIN. Chủ yếu có 4 loại THAM GIA khác nhau trong máy chủ SQL. Chúng ta sẽ tìm hiểu tất cả THAM GIA trong Máy chủ SQL với các ví dụ:
- INNER THAM GIA/tham gia đơn giản
- TRÁI NGOÀI THAM GIA/TRÁI THAM GIA
- RIGHT OUTER THAM GIA/RIGHT THAM GIA
- THAM GIA NGOÀI TRỜI ĐẦY ĐỦ
INNER JOIN
Kiểu JOIN của SQL Server này trả về các hàng từ tất cả các bảng trong đó điều kiện nối là đúng. Nó sử dụng cú pháp sau:
SELECT columns FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column;
Chúng tôi sẽ sử dụng hai bảng sau để chứng minh điều này:
Bảng sinh viên:
Bảng phí:
Lệnh sau đây minh họa lệnh INNER JOIN trong SQL Server bằng ví dụ:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students INNER JOIN Fee ON Students.admission = Fee.admission
Lệnh trả về kết quả sau:
Chúng tôi có thể thông báo cho những sinh viên đã nộp lệ phí của họ. Chúng tôi đã sử dụng cột có giá trị chung trong cả hai bảng, đó là cột nhập học.
THAM GIA BÊN NGOÀI TRÁI
Kiểu liên kết này sẽ trả về tất cả các hàng từ bảng bên trái cộng với các bản ghi trong bảng bên phải có giá trị khớp. Ví dụ:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students LEFT OUTER JOIN Fee ON Students.admission = Fee.admission
Mã trả về kết quả sau:
Các bản ghi không có giá trị khớp sẽ được thay thế bằng NULL trong các cột tương ứng.
THAM GIA ĐÚNG NGƯỜI RA NGOÀI
Kiểu nối này trả về tất cả các hàng từ bảng bên phải và chỉ những hàng có giá trị khớp trong bảng bên trái. Ví dụ:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students RIGHT OUTER JOIN Fee ON Students.admission = Fee.admission
Câu lệnh OUTER JOINS của SQL Server trả về kết quả sau:
Lý do cho kết quả đầu ra trên là vì tất cả các hàng trong bảng Học phí đều có sẵn trong bảng Sinh viên khi khớp với cột nhập học.
THAM GIA NGOÀI TRỜI ĐẦY ĐỦ
Kiểu nối này trả về tất cả các hàng từ cả hai bảng có giá trị NULL trong đó điều kiện THAM GIA không đúng. Ví dụ:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students FULL OUTER JOIN Fee ON Students.admission = Fee.admission
Mã trả về kết quả sau cho các truy vấn FULL OUTER JOINS trong SQL: