Latest Post

Hướng dẫn cài đặt Nginx, PHP, MySQL trên Windows 11 và so sánh với Docker Lỗi “Uncaught TypeError: Cannot access offset of type string on string” trong PHP: Nguyên nhân và cách khắc phục

Khi sử dụng FULL OUTER JOIN để truy vấn dữ liệu từ 2 bảng trở lên, thì những dòng dữ liệu không có sự liên kết giữa các bảng sẽ có giá trị NULL.

Ta có thể hiểu là hợp dữ liệu của 2 hoặc nhiều bảng.

Cú pháp lệnh của FULL OUTER JOIN

SELECT
Table_A.pk_column,
Table_A.columns,
Table_B.pk_column,
Table_B.columns
FROM
Table_A
FULL OUTER JOIN
Table_B ON Table_A.pk_column = Table_B.fk_column;

Ví dụ về sử dụng FULL OUTER JOIN

Chúng ta có 2 bảng là users và groups có mối quan hệ như sau:

Chú ý: Để sử dụng FULL OUTER JOIN thì giữa các bảng CSDL không tồn tại liên kết khóa ngoại.

Trong đó dữ liệu của bảng users là:

Còn dữ liệu của bảng groups là:

Yêu cầu: Sử dụng FULL OUTER RIGHT để lấy dữ liệu về user và group

SELECT u.user_id, u.username, g.group_name
FROM users as u
FULL OUTER JOIN groups as g ON u.group_id = g.group_id

Kết quả:

User “PhươngLTM” không có dữ liệu ở bảng groups nên group_name có giá trị là null

Group “author“, “developer” và “partner” không có user nào liên kết nên user_id và username hiển thị giá trị là null

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *