/*---------------------------------------------- Beispiele zum Abschnitt Mehrfachjoins - Teil 1 ---------------------------------------------- Autor: Vinzenz Mai ---------------------------------------------- Erstellungsdatum: 2005-11-23 ----------------------------------------------*/ /*---------------------------------------------- Beispiel 1 - Mehrfachjoin Kunde mit 'Mastercard' und 'American Express' sowie den Kundendaten ----------------------------------------------*/ SELECT KK1.KndNr, Vorname, Nachname, Strasse, PLZ, Ort FROM (Kreditkarten AS KK1 INNER JOIN Kreditkarten AS KK2 ON KK1.KndNr = KK2.KndNr) INNER JOIN Kunden ON KK1.KndNr = Kunden.KndNr WHERE KK1.Firma = 'Mastercard' AND KK2.Firma = 'American Express' /*---------------------------------------------- Beispiel 2-1 - Mehrfachjoin Vorteilsclubmitglied mit Kreditkarte ----------------------------------------------*/ SELECT Kreditkarten.KndNr, Firma, KartenNr, Ablaufdatum FROM Kreditkarten INNER JOIN Vorteilsclub ON Kreditkarten.KndNr = Vorteilsclub.KndNr /*---------------------------------------------- Beispiel 2-2 - Mehrfachjoin Vorteilsclubmitglied mit Kreditkarte und den Kundendaten ----------------------------------------------*/ SELECT Kunden.KndNr, Vorname, Nachname, Strasse, PLZ, Ort, Firma, KartenNr, Ablaufdatum FROM Kunden LEFT JOIN (Kreditkarten INNER JOIN Vorteilsclub ON Kreditkarten.KndNr = Vorteilsclub.KndNr) ON Kunden.KndNr = Kreditkarten.KndNr /*---------------------------------------------- Beispiel 3-1 - Mehrfachjoin Variation von Reihenfolge Vertauschung der Operanden des LEFT JOIN ----------------------------------------------*/ SELECT Kunden.KndNr, Vorname, Nachname, Strasse, PLZ, Ort, Firma, KartenNr, Ablaufdatum FROM (Kreditkarten INNER JOIN Vorteilsclub ON Kreditkarten.KndNr = Vorteilsclub.KndNr) LEFT JOIN Kunden ON Kunden.KndNr = Kreditkarten.KndNr /*---------------------------------------------- Beispiel 3-2 - Mehrfachjoin Variation von Reihenfolge Vertauschung der JOIN-Reihenfolge ----------------------------------------------*/ SELECT Kunden.KndNr, Vorname, Nachname, Strasse, PLZ, Ort, Firma, KartenNr, Ablaufdatum FROM (Kunden LEFT JOIN Kreditkarten ON Kunden.KndNr = Kreditkarten.KndNr) INNER JOIN Vorteilsclub ON Kreditkarten.KndNr = Vorteilsclub.KndNr /*---------------------------------------------- Beispiel 3-3 - Mehrfachjoin Variation von Reihenfolge Andere Joinspalte ----------------------------------------------*/ SELECT Kunden.KndNr, Vorname, Nachname, Strasse, PLZ, Ort, Firma, KartenNr, Ablaufdatum FROM (Kunden LEFT JOIN Kreditkarten ON Kunden.KndNr = Kreditkarten.KndNr) INNER JOIN Vorteilsclub ON Kunden.KndNr = Vorteilsclub.KndNr