Trong SQL, phát biểu nào sau đây đúng về phép nối RIGHT 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 phải và các hàng tương ứng từ bảng bên trái, nếu không có giá trị khớp thì sử dụng giá trị null
Đáp án đúng: C
Phép nối RIGHT JOIN
(hoặc RIGHT OUTER JOIN
) trong SQL trả về tất cả các hàng từ bảng bên phải (bảng được liệt kê sau từ khóa RIGHT JOIN
) và các hàng tương ứng từ bảng bên trái (bảng được liệt kê trước từ khóa RIGHT JOIN
). Nếu không tìm thấy hàng khớp ở bảng bên trái cho một hàng cụ thể trong bảng bên phải, các cột từ bảng bên trái sẽ chứa giá trị NULL
trong hàng kết quả.
Phân tích các lựa chọn:
- A. Nó trả về tất cả các hàng từ cả hai bảng -> Sai, đây là mô tả của
FULL OUTER JOIN
. - B. Nó chỉ trả về các hàng có giá trị khớp trong cả hai bảng -> Sai, đây là mô tả của
INNER JOIN
. - C. Nó chỉ trả về các hàng có giá trị khớp trong bảng bên phải và các hàng tương ứng từ bảng bên trái, nếu không có giá trị khớp thì sử dụng giá trị null -> Sai, cách diễn đạt này chưa đầy đủ, phải trả về *tất cả* các hàng bên phải.
- D. Nó trả về tất cả các hàng từ bảng bên phải và các hàng tương ứng từ bảng bên trái, nếu không có giá trị khớp thì sử dụng giá trị null -> Đúng, đây là mô tả chính xác về
RIGHT JOIN
.