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:

INNER JOIN

Bảng phí:

INNER JOIN

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:

INNER JOIN

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:

THAM GIA BÊN NGOÀI TRÁI

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:

THAM GIA ĐÚNG NGƯỜI RA NGOÀI

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:

THAM GIA NGOÀI TRỜI ĐẦY ĐỦ