Daten in SQL verbinden (JOIN)
Maham Faisal Khan
Senior Content Developer, DataCamp
INNER JOIN
sucht in beiden Tabellen nach Datensätzen, die in einem bestimmten Feld übereinstimmen INNER JOIN
mittels ON auf das Feld id
INNER JOIN
mittels ON
auf das Feld id
INNER JOIN
mittels ON
auf das Feld id
Staatsoberhäupter bis 2024:
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 |
prime_ministers
presidents
prime_ministers
--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;
Hinweis. Das Format table.column_name
muss verwendet werden, wenn Spalten ausgewählt werden, die in beiden Tabellen vorhanden sind, um einen SQL-Fehler zu vermeiden.
| 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 |
--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 |
Aliase können mit der Syntax table.column_name
in den Klauseln SELECT
und ON
verwendet werden.
--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 |
Daten in SQL verbinden (JOIN)