De ins en outs van INNER JOIN

Data joinen in SQL

Maham Faisal Khan

Senior Content Developer, DataCamp

De ins en outs van INNER JOIN's

Een diagram met twee tabellen: linkertabel en rechtertabel. Overeenkomende id-waarden in de linker- en rechtertabel worden in dezelfde kleuren weergegeven.

Data joinen in SQL

De ins en outs van INNER JOIN's

  • INNER JOIN zoekt in beide tabellen naar records die overeenkomen met een bepaald veld
Diagram voor een INNER JOIN op het veld id

Een diagram met twee tabellen: left_table en right_table. De id-waarden die overeenkomen in de linker- en rechtertabel worden in dezelfde kleuren weergegeven en zijn met pijlen verbonden.

Data joinen in SQL

De ins en outs van INNER JOIN's

Diagram voor een INNER JOIN ON het veld id

Een diagram met twee tabellen: left_table en right_table. De overeenkomende id-waarden in de linker- en rechtertabel worden in dezelfde kleuren weergegeven en met pijlen verbonden. De gegevens die niet interessant zijn voor INNER JOIN zijn vervaagd.

Data joinen in SQL

De ins en outs van INNER JOIN's

Diagram voor een INNER JOIN ON het veld id

Een diagram met twee tabellen: left_table en right_table. Het resultaat van het samenvoegen van de twee query's zie je hiernaast. Alleen de records die in de id-kolom van beide tabellen overeenkomen, worden weergegeven.

Data joinen in SQL

Het schema van de leiderschapsdatabase

Wereldleiders tot 2024: Een SQL-schema met drie tabellen in de leiderschapsdatabase: presidents, prime_ministers en prime_minister_terms. Presidents en prime_minister kunnen worden gejoint op het veld country, terwijl prime_ministers en prime_minister terms kunnen worden gejoint op het veld prime_minister.

Data joinen in SQL

In de presidententabel

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          |
Data joinen in SQL

Maak kennis met de premiers

De prime_ministers-tabel

De tabel prime_ministers uit de database met leiders, met drie kolommen: land, continent en prime_minister.

Data joinen in SQL

Premiers ontmoeten de presidenten

De presidents-tabel

Twee tabellen naast elkaar: presidents en prime_minister. Overeenkomende kolommen zijn gekleurd in de twee tabellen.

De prime_ministers-tabel

Twee tabellen naast elkaar: presidents en prime_minister. Overeenkomende kolommen zijn gekleurd in de twee tabellen.

Data joinen in SQL

Onze eerste 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;

Opmerking. Je moet de indeling table.column_name gebruiken als je kolommen kiest die in beide tabellen bestaan, om een SQL-fout te voorkomen.

| 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         |
Data joinen in SQL

Alias toewijzen aan tabellen

--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         |

Aliassen kunnen worden gebruikt in de table.column_name-syntaxis in de clausules SELECT en ON.

Data joinen in SQL

Gebruik 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         |
Data joinen in SQL

Laten we oefenen!

Data joinen in SQL

Preparing Video For Download...