Giới thiệu
Trong các hệ thống quản lý dữ liệu, hiếm khi thông tin được lưu trữ trong một bảng duy nhất. Để duy trì tính nhất quán và tránh trùng lặp, dữ liệu thường được chia thành nhiều bảng liên quan. Tuy nhiên, để truy vấn thông tin từ nhiều bảng cùng lúc, ta cần một cách để “ghép nối” chúng lại. Đó chính là vai trò của JOIN trong MySQL — một công cụ mạnh mẽ giúp kết hợp các hàng từ hai hoặc nhiều bảng dựa trên mối quan hệ giữa chúng.
Các loại JOIN cơ bản
INNER JOIN
Đây là dạng JOIN phổ biến nhất. Nó trả về các hàng có sự trùng khớp trong cả hai bảng. Nếu không có sự trùng khớp, hàng đó sẽ bị loại bỏ.
SELECT *
FROM khach_hang
INNER JOIN hoa_don
ON khach_hang.id = hoa_don.khach_hang_id;LEFT JOIN (LEFT OUTER JOIN)
Trả về tất cả các hàng từ bảng bên trái, kèm theo các hàng trùng khớp từ bảng bên phải. Nếu không có sự trùng khớp, các cột của bảng bên phải sẽ có giá trị NULL.
SELECT *
FROM khach_hang
LEFT JOIN hoa_don
ON khach_hang.id = hoa_don.khach_hang_id;