INNER JOIN và LEFT JOIN khác nhau như thế nào?
- A.INNER JOIN chỉ giữ dòng khớp ở cả hai bảng; LEFT JOIN giữ toàn bộ dòng bảng trái, cột của bảng phải điền NULL khi không có dòng khớp
- B.LEFT JOIN bỏ qua điều kiện ON và ghép mọi dòng với mọi dòng như CROSS JOIN
- C.INNER JOIN chỉ dùng được với hai bảng, LEFT JOIN dùng được với nhiều bảng
- D.LEFT JOIN nhanh hơn INNER JOIN vì chỉ phải đọc bảng bên trái
Đáp án: A
INNER JOIN chỉ trả về dòng có khớp ở cả hai bảng. LEFT JOIN trả về toàn bộ dòng của bảng trái; nếu bảng phải không có dòng khớp, các cột của bảng phải nhận NULL. Chọn LEFT JOIN khi cần giữ cả bản ghi chưa có dữ liệu liên kết, ví dụ khách hàng chưa có đơn hàng.
Nguồn tham khảo