INNER JOIN inifrån och ut

Att joina data i SQL

Maham Faisal Khan

Senior Content Developer, DataCamp

INNER JOIN inifrån och ut

Ett diagram med två tabeller: vänster tabell och höger tabell. Matchande id-värden i vänster och höger tabell visas i samma färger.

Att joina data i SQL

INNER JOIN inifrån och ut

  • INNER JOIN söker efter poster i båda tabellerna som matchar på ett givet fält
Diagram för INNER JOIN på fältet id

Ett diagram med två tabeller: left_table och right_table. Matchande id-värden i vänster och höger tabell visas i samma färger och är förbundna med pilar.

Att joina data i SQL

INNER JOIN inifrån och ut

Diagram för INNER JOIN ON fältet id

Ett diagram med två tabeller: left_table och right_table. Matchande id-värden i vänster och höger tabell visas i samma färger och är förbundna med pilar. Poster som inte ingår i INNER JOIN har tonats ned.

Att joina data i SQL

INNER JOIN inifrån och ut

Diagram för INNER JOIN ON fältet id

Ett diagram med två tabeller: left_table och right_table. Resultatet av joiningen visas till höger och returnerar endast de poster som matchade på kolumnen id i båda tabellerna.

Att joina data i SQL

Schemat för leadership-databasen

Världsledare fram till 2024: Ett SQL-schema med tre tabeller i leadership-databasen: presidents, prime_ministers och prime_minister_terms. presidents och prime_ministers kan joinas på fältet country, medan prime_ministers och prime_minister_terms kan joinas på fältet prime_minister.

Att joina data i SQL

Tabellen presidents

SELECT * 
FROM presidents;
| country  | continent     | president               |
|----------|---------------|-------------------------|
| Egypt    | Africa        | Abdel Fattah el-Sisi    |
| Portugal | Europe        | Marcelo Rebelo de Sousa | 
| USA      | North America | Joe Biden               |
| Uruguay  | South America | Luis Lacalle Pou        |
| Pakistan | Asia          | Asif Ali Zardari        |
| Chile    | South America | Gabriel Boric           |
| India    | Asia          | Droupadi Murmu          |
Att joina data i SQL

Tabellen prime_ministers

Tabellen prime_ministers

Tabellen prime_ministers från leadership-databasen med tre kolumner: country, continent och prime_minister.

Att joina data i SQL

Prime ministers möter presidents

Tabellen presidents

Två tabeller visas sida vid sida: presidents och prime_minister. Matchande kolumner är markerade i samma färg i de båda tabellerna.

Tabellen prime_ministers

Två tabeller visas sida vid sida: presidents och prime_minister. Matchande kolumner är markerade i samma färg i de båda tabellerna.

Att joina data i SQL

Vår första INNER JOIN

--Inner join of presidents and prime_ministers, joining on country

SELECT prime_ministers.country, prime_ministers.continent, prime_minister, president
FROM presidents
INNER JOIN prime_ministers
ON presidents.country = prime_ministers.country;

Obs! Formatet tabell.kolumnnamn måste användas vid val av kolumner som finns i båda tabellerna, annars uppstår ett SQL-fel.

| country        | continent | prime_minister   | president               |
|----------------|-----------|------------------|-------------------------|
| Egypt          | Africa    | Mostafa Madbouly | Abdel Fattah el-Sisi    |
| Portugal       | Europe    | Luís Montenegro  | Marcelo Rebelo de Sousa |
| Pakistan       | Asia      | Shehbaz Sharif   | Asif Ali Zardari        |
| India          | Asia      | Narendra Modi    | Ram Nath Kovind         |
Att joina data i SQL

Tabellalias

--Inner join of presidents and prime_ministers, joining on country

SELECT p2.country, p2.continent, prime_minister, president
FROM presidents AS p1 INNER JOIN prime_ministers AS p2
ON p1.country = p2.country;
| country        | continent | prime_minister   | president               |
|----------------|-----------|------------------|-------------------------|
| Egypt          | Africa    | Mostafa Madbouly | Abdel Fattah el-Sisi    |
| Portugal       | Europe    | Luís Montenegro  | Marcelo Rebelo de Sousa |
| Pakistan       | Asia      | Shehbaz Sharif   | Asif Ali Zardari        |
| India          | Asia      | Narendra Modi    | Ram Nath Kovind         |

Alias kan användas med syntaxen tabell.kolumnnamn i SELECT- och ON-satser.

Att joina data i SQL

Använda USING

--Inner join of presidents and prime_ministers, joining on country
SELECT p2.country, p2.continent, prime_minister, president
FROM presidents AS p1
INNER JOIN prime_ministers AS p2
USING(country);
| country        | continent | prime_minister   | president               |
|----------------|-----------|------------------|-------------------------|
| Egypt          | Africa    | Mostafa Madbouly | Abdel Fattah el-Sisi    |
| Portugal       | Europe    | Luís Montenegro  | Marcelo Rebelo de Sousa |
| Pakistan       | Asia      | Shehbaz Sharif   | Asif Ali Zardari        |
| India          | Asia      | Narendra Modi    | Ram Nath Kovind         |
Att joina data i SQL

Nu kör vi en övning!

Att joina data i SQL

Preparing Video For Download...