Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Inner Join

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:

SELECT firma, anr

oder

SELECT firma, anr

FROM kunde, auftrag


FROM kunde JOIN auftrag

WHERE kunde.knr=auftrag.knr


ON kunde.knr=auftrag.knr


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.


SELECT k.firma, a.anr, l.lnr

oder

SELECT k.firma, a.anr, l.lnr

FROM kunde k,auftrag a,leistung l


FROM kunde k JOIN auftrag a

WHERE k.knr=a.knr


ON k.knr=a.knr

AND a.anr=l.anr


JOIN leistung l ON a.anr=l.anr

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