Bei einem Inner Join enthält die Ergebnistabelle nur die Sätze, die die Join-Bedingung erfüllen.
Einfacher Inner Join
Ein einfacher Inner Join wählt Sätze aus dem Kartesischen Produkt von zwei Tabellen aus.
Beispiel
Kundenname und zugehörige Auftragsnummer aus den Tabellen KUNDE und AUFTRAG heraussuchen:
| oder |
|
|
| |
|
|
Kunden, die keinen Auftrag erteilt haben, zum Beispiel die Firma Jonas Fischladen mit der Kundennummer 104, sind in der Ergebnistabelle nicht enthalten.
firma anr Login GmbH 300 JIKO GmbH 200 Pudelshop Anke 250 Pudelshop Anke 251 Pudelshop Anke 305 Foreign Ltd. 210 Foreign Ltd. 211
Beispiel
Für jeden Auftrag wird die zugehörige Leistung ausgewählt.
SELECT a.anr, a.atext, a.astnr, l.lnr, l.ltext FROM auftrag a INNER JOIN leistung l ON a.anr = l.anr anr atext astnr lnr ltext 200 Mitarbeiterschulung 5 1 Schulungsmaterial 200 Mitarbeiterschulung 5 2 Schulung 200 Mitarbeiterschulung 5 3 Schulung 211 Datenbank-Entwurf Kunden 4 4 Systemanalyse 211 Datenbank-Entwurf Kunden 4 5 Datenbankentwurf 211 Datenbank-Entwurf Kunden 4 6 Kopien/Folien 211 Datenbank-Entwurf Kunden 4 7 Handbuch 250 Serienbrief-Einweisung 2 10 Reisekosten 250 Serienbrief-Einweisung 2 11 Schulung |
Mehrfacher Inner Join
Ein mehrfacher Inner Join wählt Spalten aus dem Kartesischen Produkt von mehr als zwei Tabellen aus.
Beispiel
Aus den Tabellen KUNDE, AUFTRAG und LEISTUNG wird für jeden Kunden, der einen Auftrag gestellt hat, die zugehörige Leistung herausgesucht.
| oder |
|
|
| |
|
| |
|
|
firma anr lnr JIKO GmbH 200 1 JIKO GmbH 200 2 JIKO GmbH 200 3 Foreign Ltd. 211 4 Foreign Ltd. 211 5 Foreign Ltd. 211 6 Foreign Ltd. 211 7 Pudelshop Anke 250 10 Pudelshop Anke 250 11