Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Khác biệt giữa Left, Right và Full Outer Join

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