Bài viết giải thích khác biệt giữa LEFT OUTER JOIN, RIGHT OUTER JOIN, và FULL OUTER JOIN.
LEFT OUTER JOIN
- Lấy tất cả hàng từ bảng bên trái.
- Tương đương
INNER JOIN + tất cả hàng không khớp từ bảng trái. - Dữ liệu không khớp ở bảng phải bị mất.
Ví dụ:
SELECT [column_1, column_2, ...] FROM table_1 LEFT OUTER JOIN table_2 ON table_1.matching_column = table_2.matching_column
RIGHT OUTER JOIN
- Lấy tất cả hàng từ bảng bên phải.
- Tương tự
INNER JOIN + tất cả hàng không khớp từ bảng phải. - Dữ liệu không khớp từ bảng trái bị mất.
Ví dụ:
SELECT [column_1, column_2, ...] FROM table_1 RIGHT OUTER JOIN table_2 ON table_1.matching_column = table_2.matching_column
FULL OUTER JOIN
- Lấy tất cả hàng từ cả hai bảng.
- Tương đương
INNER JOIN + hàng không khớp bảng trái + hàng không khớp bảng phải. - Không mất dữ liệu trong thao tác này.
Ví dụ:
SELECT [column_1, column_2, ...] FROM table_1 FULL OUTER JOIN table_2 ON table_1.matching_column = table_2.matching_column