LEFT and RIGHT JOINs

Att joina data i SQL

Maham Faisal Khan

Senior Content Developer, Data Science

Diagram för INNER JOIN

Diagram för INNER JOIN ON fältet id

Ett diagram från en tidigare lektion som visar två tabeller, left_table och right_table, samt resultatet efter att en inner join har utförts. Poster som inte är relevanta för inner join är tonade.

Att joina data i SQL

Inledande diagram för LEFT JOIN

  • LEFT JOIN returnerar alla poster i den vänstra tabellen samt de poster i den högra tabellen som matchar på det angivna kopplingsfältet
    Diagram för LEFT JOIN ON fältet id

Ett diagram som visar två tabeller, left table och right table, med pilar som pekar på de poster som matchar på id-kolumnen i båda tabellerna. Poster som inte är relevanta för left join är gråtonade.

Att joina data i SQL

Diagram för LEFT JOIN

Diagram för LEFT JOIN ON fältet id

Ett diagram som visar två tabeller, left table och right table, samt resultatet efter att en left join har utförts. Poster som inte är relevanta för left join är tonade.

Att joina data i SQL

Syntax för LEFT JOIN

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

Obs. LEFT JOIN kan även skrivas som 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                    | 
...
Att joina data i SQL

RIGHT JOIN

Diagram för RIGHT JOIN ON fältet id

Ett diagram som visar två tabeller, left table och right table, samt resultatet efter att en right join har utförts. Poster som inte är relevanta för right join är gråtonade.

Att joina data i SQL

Syntax för RIGHT JOIN

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

Obs. RIGHT JOIN kan även skrivas som RIGHT OUTER JOIN.

Att joina data i SQL

RIGHT JOIN med presidenter och statsministrar

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          |      
Att joina data i SQL

LEFT JOIN eller RIGHT JOIN?

  • RIGHT JOIN används mer sällan än LEFT JOIN
  • Alla RIGHT JOIN kan skrivas om som LEFT JOIN
  • LEFT JOIN känns mer intuitivt när man skriver från vänster till höger
Att joina data i SQL

Nu kör vi en övning!

Att joina data i SQL

Preparing Video For Download...