LEFT та RIGHT JOIN

Об'єднання даних у SQL

Maham Faisal Khan

Senior Content Developer, Data Science

Діаграма INNER JOIN

Діаграма для INNER JOIN за полем id

Діаграма з попереднього уроку: дві таблиці, left_table і right_table, та вибірка результатів після inner join між ними. Записи, не потрібні для inner join, затемнено.

Об'єднання даних у SQL

Початкова діаграма LEFT JOIN

  • LEFT JOIN повертає всі записи з лівої таблиці та ті записи з правої, що збігаються за полем з'єднання
    Діаграма для LEFT JOIN за полем id

Діаграма з двома таблицями, left table і right table, зі стрілками на записи, що збігаються у стовпці id в обох таблицях. Записи, не потрібні для left join, заштриховано.

Об'єднання даних у SQL

Діаграма LEFT JOIN

Діаграма для LEFT JOIN за полем id

Діаграма з двома таблицями, left table і right table, та вибіркою результатів після left join між ними. Записи, не потрібні для left join, затемнено.

Об'єднання даних у SQL

Синтаксис LEFT JOIN

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

Note. LEFT JOIN також можна записати як 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                    | 
...
Об'єднання даних у SQL

RIGHT JOIN

Діаграма для RIGHT JOIN за полем id

Діаграма з двома таблицями, left table і right table, та вибіркою результатів після right join між ними. Записи, не потрібні для right join, заштриховано.

Об'єднання даних у SQL

Синтаксис RIGHT JOIN

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

Note. RIGHT JOIN також можна записати як RIGHT OUTER JOIN.

Об'єднання даних у SQL

RIGHT JOIN з presidents і prime ministers

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          |      
Об'єднання даних у SQL

LEFT JOIN чи RIGHT JOIN?

  • RIGHT JOIN використовують рідше, ніж LEFT JOIN
  • Будь-який RIGHT JOIN можна переписати як LEFT JOIN
  • LEFT JOIN зазвичай інтуїтивніший, коли друкуєте зліва направо
Об'єднання даних у SQL

Давайте потренуємось!

Об'єднання даних у SQL

Preparing Video For Download...