Eine Tabelle kann auch mit sich selbst verknüpfen werden, diese Art des joins nennt man self-join. Beispiel: Kunden die sowohl eine Kreditkarte von American Express, wie auch eine von Mastercard haben, sollen ermittelt werden. Die Tabelle Kunden sieht wie folgt aus:
Die Tabelle Kreditkarten:
Die Abfrage:
Und das Ergebnis:
SQL: SELECT Kunden.Nachname, Kunden.Vorname, Kreditkarten.Firma, Kreditkarten_1.Firma FROM Kreditkarten AS Kreditkarten_1 INNER JOIN (Kunden INNER JOIN Kreditkarten ON Kunden.KndNr = Kreditkarten.KndNr) ON Kreditkarten_1.KndNr = Kunden.KndNr WHERE ((Kreditkarten.Firma="Mastercard") AND (Kreditkarten_1.Firma="American Express")); Erklärung: Es wird zweimal auf die gleiche Tabelle zugegriffen, um dies zu ermöglichen werden durch FROM & JOIN Aliasnamen verwendet.
|