JOIN mit zwei Tabellen
Syntax von JOIN
SELECT * | Attribut [, Attribut] FROM Tabellenname1 xx [xx]; xx := INNER | (LEFT|RIGHT [OUTER]) JOIN Tabellenname2 ON Tabellenname1.Attribut = Tabellenname2.Attribut
Aufgabe 1
Erstellen Sie eine neue Abfrage mit den beiden Tabellen "tblKunden" und "tblAnreden". Die Abfrage soll sämtliche Kund*innen mit ihren zugehörigen Anreden zeigen, also etwa so:
- Wie viele Datensätze erhalten Sie?
- Wie viele Datensätze enthält die Tabelle "tblKunden"?
- Was ist da allenfalls schiefgelaufen?
Aufgabe 2
Passen Sie die Abfrage so an, dass Sie sämtliche Kund*innen sehen, egal, ob sie einen Wert im Attribut "tAnID" haben oder nicht resp. egal, ob der in der Tabelle "tblAnreden" existiert oder nicht.
Aufgabe 3
Nun erstellen Sie eine Liste, welche wie folgt aussieht (die Kunden-ID benötigen Sie nicht):
Dass Sie hier wiederum zu wenig Datensätze kriegen, ist klar, falls Sie einen INNER JOIN verwenden. Das interessiert uns diesmal aber nicht.
Aufgabe 4
Passen Sie Ihre Liste so an, dass sie nur Kund*innen aus der Schweiz, Deutschland und Österreich anzeigt.
Wie viele Datensätze kriegen Sie?
JOINs und Berechnungen
Sie können Aggregatsfunktionen auch über Tabellen-Joins erstellen.
Beispielsweise könnte die folgende Liste in der Praxis interessant sein:
Aufgabe 5
Erstellen Sie ein SQL-Statement, das diese Liste erstellt.
Senden Sie das Statement per E-Mail der Lehrperson.
Aufgabe 6
Erstellen Sie eine alphabetisch sortierte Liste mit Ländern und geben Sie dabei an, wie viele Kund*innen aus diesem Land vertreten sind. Die Liste könnte etwa wie folgt aussehen: