LEFT i RIGHT JOIN

Łączenie danych w SQL

Maham Faisal Khan

Senior Content Developer, Data Science

Diagram INNER JOIN

Diagram INNER JOIN ON pole id

Diagram powtórzony z poprzedniej lekcji, przedstawiający dwie tabele — left_table i right_table — oraz wynik złączenia wewnętrznego. Rekordy nieistotne dla INNER JOIN są wyszarzone.

Łączenie danych w SQL

Diagram wstępny LEFT JOIN

  • LEFT JOIN zwraca wszystkie rekordy z lewej tabeli oraz pasujące rekordy z prawej tabeli
    Diagram LEFT JOIN ON pole id

Diagram przedstawiający dwie tabele — left table i right table — ze strzałkami wskazującymi pasujące rekordy w kolumnie id. Rekordy nieistotne dla LEFT JOIN są wyszarzone.

Łączenie danych w SQL

Diagram LEFT JOIN

Diagram LEFT JOIN ON pole id

Diagram przedstawiający dwie tabele — left table i right table — oraz wynik LEFT JOIN. Rekordy nieistotne dla LEFT JOIN są wyszarzone.

Łączenie danych w SQL

Składnia LEFT JOIN

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

Uwaga. LEFT JOIN można również zapisać jako 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                    | 
...
Łączenie danych w SQL

RIGHT JOIN

Diagram RIGHT JOIN ON pole id

Diagram przedstawiający dwie tabele — left table i right table — oraz wynik RIGHT JOIN. Rekordy nieistotne dla RIGHT JOIN są wyszarzone.

Łączenie danych w SQL

Składnia RIGHT JOIN

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

Uwaga. RIGHT JOIN można również zapisać jako RIGHT OUTER JOIN.

Łączenie danych w SQL

RIGHT JOIN z prezydentami i premierami

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          |      
Łączenie danych w SQL

LEFT JOIN czy RIGHT JOIN?

  • RIGHT JOIN jest rzadziej używany niż LEFT JOIN
  • Każdy RIGHT JOIN można przepisać jako LEFT JOIN
  • LEFT JOIN jest bardziej intuicyjny podczas pisania od lewej do prawej
Łączenie danych w SQL

Czas na ćwiczenia!

Łączenie danych w SQL

Preparing Video For Download...