Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

SQL Grundkurs 2: Aufgaben und Lösungen

Beispiel 21: OUTER JOIN und INNER JOIN

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Eine kleine Erweiterung zu Beispiel 20: Ersetzen Sie das Abteilungskürzel aus der Personaltabelle durch den Abteilungsnamen aus der Abteilungstabelle.

Transkript

Im vorigen Beispiel haben wir ausgegeben, welche Mitarbeiter aus welchen Abteilungen noch keine Bestellungen aufgegeben haben. Dazu haben wir die Tabelle "personal" mit der Tabelle "bestellungen" gejoint. Nun möchten wir eine Erweiterung vornehmen. Anstelle des Abteilungskürzels, möchten wir hier den Namen der Abteilung der in der Abteilungstabelle gespeichert ist, ergänzen, d. h. wir benötigen eine dritte Tabelle, nämlich die Tabelle "wawi.abteilungen" Diese ist zusätzlich zur Personaltabelle dazu zu joinen. Pausieren Sie nun das Video und lösen Sie die Aufgabe. Wenn Sie damit fertig sind, fahren Sie mit dem Video fort und sehen Sie sich meine Musterlösung an. Betrachten wir uns nun dieses Ergebnis. Zusätzlich zum bereits vorhandenen OUTER JOIN, zwischen Personal und Bestellungen, haben wir jetzt hier einen weiteren, in dem Fall INNER JOIN zwischen Personal und Abteilungen ergänzt. Dieser erfolgt über die Beziehung zwischen "p.abtlg" und "a.abtnr", also das ist der Fremdschlüssel aus der Tabelle "personal" und das ist der Primärschlüssel aus der Abteilungstabelle. Also wird wiederum eine Beziehung für den JOIN verwendet. Ich habe hier "a" für die Abteilung verwendet, und nun das Kürzel aus der Personaltabelle durch "a.text" ... das ist eben der Name der Spalte aus der Tabelle "abteilungen" ... ergänzt. Nachdem "text" als Überschrift nicht so schön aussehen würde, verwenden wir hier "AS abteilung" als Aliasname, dann bekommen wir eine schöne Spaltenüberschrift und haben nun die dritte Tabelle ergänzt und haben damit einen JOIN über drei Tabellen vollzogen, um zusätzlich hier noch den Abteilungsnamen zu ergänzen. Wichtig ist, wenn wir mehr als zwei Tabellen miteinander joinen, dass jene Tabellen, die öfter in einen JOIN involviert sind, so wie bei uns die Personaltabelle, nicht mehrfach in der Anweisung vorkommen, sondern nur ein Mal. Ich beginne mit dieser Tabelle, hänge dann diese dazu und dann als dritte diese. Wiederum auf die Personaltabelle, das weiß das System aufgrund der Join-Bedingung, aber die Personaltabelle wird nicht noch einmal dazugeschrieben. Das ist auch der Grund, warum ich Ihnen empfehle, diese Zeilenumbrüche in der Anweisung genau so zu machen, weil dann haben Sie immer so die Logik, in der Klausel am Beginn, direkt hinter dem FROM steht sozusagen mein Ausgangspunkt, und in jeder neuen Zeile hänge ich sozusagen eine weitere Tabelle dazu, einmal die Bestellungen und dann, das nächste Mal die Abteilungen. Und gleichermaßen gehen wir vor, wenn wir auch mehr als zwei Tabellen benötigen. Wenn Sie das Beispiel mit Oracle oder MySQL umgesetzt haben, ist es absolut ident und Sie finden hier keine Unterschiede.

SQL Grundkurs 2: Aufgaben und Lösungen

Vertiefen Sie Ihre SQL-Kenntnisse. In diesem Workshop erhalten Sie zahlreiche Beispielaufgaben, die Sie selbst lösen können. Anschließend zeigt Ihnen der Trainer die Lösung.

7 Std. 41 min (61 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieses Training setzt SQL-Kenntnisse voraus, wie sie beispielsweise in „SQL lernen und anwenden“ vermittelt werden.

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!