LEFT và RIGHT JOIN

Kết hợp dữ liệu trong SQL

Maham Faisal Khan

Senior Content Developer, Data Science

Sơ đồ INNER JOIN

Sơ đồ INNER JOIN với trường id

Sơ đồ lặp lại từ bài trước, hiển thị hai bảng left_table và right_table, cùng tập kết quả sau khi thực hiện inner join trên hai bảng. Các bản ghi không liên quan đến inner join được làm mờ.

Kết hợp dữ liệu trong SQL

Sơ đồ LEFT JOIN ban đầu

  • LEFT JOIN trả về mọi bản ghi ở bảng trái và các bản ghi khớp ở bảng phải theo trường nối
    Sơ đồ LEFT JOIN với trường id

Sơ đồ hiển thị hai bảng, bảng trái và bảng phải, với mũi tên chỉ tới các bản ghi khớp ở cột id của cả hai bảng. Các bản ghi không liên quan đến left join được làm xám.

Kết hợp dữ liệu trong SQL

Sơ đồ LEFT JOIN

Sơ đồ LEFT JOIN với trường id

Sơ đồ hiển thị hai bảng, bảng trái và bảng phải, cùng tập kết quả sau khi thực hiện left join trên các bảng này. Các bản ghi không liên quan đến left join được làm mờ.

Kết hợp dữ liệu trong SQL

Cú pháp LEFT JOIN

SELECT p1.country, prime_minister, president
FROM prime_ministers AS p1
LEFT JOIN presidents AS p2
USING(country);

Lưu ý: LEFT JOIN cũng có thể viết là LEFT OUTER JOIN.

| country        | prime_minister    | president               |
|----------------|-------------------|-------------------------|
| Egypt          | Mostafa Madbouly  | Abdel Fattah el-Sisi    |
| Portugal       | Luís Montenegro   | Marcelo Rebelo de Sousa |
| Pakistan       | Shehbaz Sharif    | Asif Ali Zardari        |
| United Kingdom | Keir Starmer      | null                    | 
| India          | Narendra Modi     | Droupadi Murmu          |
| Australia      | Anthony Albanese  | null                    | 
...
Kết hợp dữ liệu trong SQL

RIGHT JOIN

Sơ đồ RIGHT JOIN với trường id

Sơ đồ hiển thị hai bảng, bảng trái và bảng phải, cùng tập kết quả sau khi thực hiện right join trên các bảng này. Các bản ghi không liên quan đến right join được làm xám.

Kết hợp dữ liệu trong SQL

Cú pháp RIGHT JOIN

SELECT *
FROM left_table
RIGHT JOIN right_table
ON left_table.id = right_table.id;

Lưu ý: RIGHT JOIN cũng có thể viết là RIGHT OUTER JOIN.

Kết hợp dữ liệu trong SQL

RIGHT JOIN với tổng thống và thủ tướng

SELECT p1.country, prime_minister, president
FROM prime_ministers AS p1
RIGHT JOIN presidents AS p2
USING(country);
| country        | prime_minister   | president               |
|----------------|------------------|-------------------------|
| Egypt          | Mostafa Madbouly | Abdel Fattah el-Sisi    |
| Portugal       | Luís Montenegro  | Marcelo Rebelo de Sousa |
| USA            | null             | Joe Biden               |
| Uruguay        | null             | Luis Lacalle Pou        |     
| Pakistan       | Shehbaz Sharif   | Asif Ali Zardari        |
| Chile          | null             | Gabriel Boric           |      
| India          | Narendra Modi    | Droupadi Murmu          |      
Kết hợp dữ liệu trong SQL

Chọn LEFT JOIN hay RIGHT JOIN?

  • RIGHT JOIN ít dùng hơn LEFT JOIN
  • Mọi RIGHT JOIN đều có thể viết lại thành LEFT JOIN
  • LEFT JOIN trực quan hơn khi gõ từ trái sang phải
Kết hợp dữ liệu trong SQL

Ayo berlatih!

Kết hợp dữ liệu trong SQL

Preparing Video For Download...