Trong SQL, phát biểu nào sau đây đúng về phép nối LEFT JOIN?
A.
Nó trả về tất cả các hàng từ cả hai bảng
B.
Nó chỉ trả về các hàng có giá trị khớp trong cả hai bảng
C.
Nó chỉ trả về các hàng có giá trị khớp trong bảng bên trái và các hàng tương ứng từ bảng bên phải, nếu không có giá trị khớp thì sử dụng giá trị null
D.
Nó trả về tất cả các hàng từ bảng bên trái và các hàng tương ứng từ bảng bên phải, nếu không có giá trị khớp thì sử dụng giá trị null
Trả lời:
Đáp án đúng: C
Trong SQL, phép nối LEFT JOIN (hoặc LEFT OUTER JOIN) trả về tất cả các hàng từ bảng bên trái (bảng được chỉ định trước từ khóa LEFT JOIN) và các hàng tương ứng từ bảng bên phải (bảng được chỉ định sau từ khóa LEFT JOIN). Nếu không tìm thấy hàng tương ứng nào trong bảng bên phải, các cột của bảng bên phải sẽ chứa giá trị NULL.
Phương án A sai vì LEFT JOIN không trả về tất cả các hàng từ CẢ HAI bảng. Nó trả về TẤT CẢ các hàng từ bảng bên trái.
Phương án B sai vì LEFT JOIN trả về cả các hàng không khớp, không chỉ các hàng khớp.
Phương án C sai vì nó mô tả hoạt động ngược lại, coi bảng bên phải là bảng chính và bảng bên trái là bảng phụ.
Phương án D đúng vì nó mô tả chính xác hoạt động của LEFT JOIN.





