Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

SQL Grundkurs 1: Die Sprache erlernen

Arten des JOIN

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Leider ist manchmal ein wenig Theorie, zum Einstieg in ein Thema, nicht ganz vermeidbar. Sehen Sie sich daher schnell dieses Video an, denn dann haben Sie die Theorie hinter sich und wissen über die Arten des JOIN Bescheid.

Transkript

In diesem Video möchte ich Ihnen einen Überblick über die Einteilungsarten von "JOINs" geben. Eine Variante, einen "JOIN" zu unterteilen ist der JOIN-Typ. Die Standardvariante eines "JOINs" ist der sogenannte "INNER JOIN", diese wird am meisten verwendet. Bei einem "INNER JOIN" werden im Ergebnis nur jene Daten angezeigt, für das es in beiden betroffenen Tabellen Entsprechungen gibt. Würden Sie also zum Beispiel eine Tabelle "Kunden" mit einer Tabelle "Rechnungen" joinen, dann sehen Sie im Ergebnis nur die Schnittmenge. Das heißt soviel, wie Kunden, die noch nie etwas gekauft haben und noch keine Rechnungen erhalten haben, finden Sie im Ergebnis nicht; ebenso Rechnungen die, wenn das theoretisch möglich wäre, noch keinem Kunden zugeordnet sind, also nur Kunden und Rechnungen, die eine Zuordnung haben, werden im Ergebnis angezeigt. Manchmal hat man die Anforderung auch das zu sehen, wo es in der anderen Tabelle keine Entsprechungen gibt, dann verwendet man einen sogenannten "OUTER JOIN". Beim "OUTER JOIN" in der klassischen Variante entweder ein "LEFT-" oder "RIGHT OUTER JOIN" werden auch jene Daten aus einer Tabelle angezeigt, für die es in der jeweils anderen keine Entsprechungen gibt. D.h., wenn wir bei unserem Beispiel "Kunden" und "Rechnungen" bleiben, dann würden z.B. auch jene Kunden angezeigt werden, die noch nie etwas gekauft haben und daher noch keine einzige Rechnung zugeordnet haben. Die Unterscheidung zwischen "LEFT" oder "RIGHT" dient innerhalb der SQL-Anweisung lediglich der Identifizierung, aus welcher der beiden Tabellen alles angezeigt werden soll; Ist es die linke, zuerst angegebene Tabelle oder die rechte, danach angegebene Tabelle. In ganz speziellen Fällen benötigt man einen sogenannten "FULL OUTER JOIN". Bei einem "FULL OUTER JOIN" werden aus beiden Tabellen alle Datensätze angezeigt, auch wenn es keine Entsprechungen gibt. Der "FULL OUTER JOIN" ist in der Praxis aber sehr selten, da meistens Tabellen gejoint werden, die auch in Beziehung stehen mit referenzieller Integrität und da ist es technisch gar nicht möglich, dass es auf beiden Seiten etwas gibt, was es in der jeweils anderen nicht gibt. Aber, da wir ja auch Tabellen joinen können, die in keiner Beziehung stehen, kann dieser Sachverhalt doch ab und wann vorkommen und notwendig sein. Eine andere Variante der Unterscheidung ist die Einteilung in die Art der JOIN-Bedingung. Die Hauptvariante hier ist der sogenannte "EQUI-JOIN", zu Deutsch eine Gleichheitsverknüpfung. Bei einem "JOIN" müssen wir immer zwei Dinge in der Praxis angeben: Einerseits, wen joinen wir, und andererseits, wie soll dieser "JOIN" umgesetzt werden. Dieses "Wie" wird auch als JOIN-Bedingung bezeichnet. In dieser JOIN-Bedingung gibt es einen JOIN-Operator, der definiert, wie dieser "JOIN" von statten gehen soll. Und dieser JOIN-Operator ist in der Praxis meist ein Gleichheitszeichen. Zum Beispiel definieren wir, die Kundennummer in der Rechnungstabelle ist gleich und entspricht der Kundennummer in der Kundentabelle; damit ist der JOIN-Operator ein Gleichheitszeichen. Das ist die gebräuchlichste und typischste Art, wie man einen "JOIN" realisiert. Aber auch hier gibt es als Sonderform den sogenannten "NON EQUI-JOIN", oder zu Deutsch Ungleichheitsverknüpfung. Hier passiert der JOIN, ohne dass ich etwas gleichsetze. Das heißt, den verwendet man dann, wenn es nichts gibt, was direkt entspricht. Deshalb finden wir als JOIN-Operator kein Gleichheitszeichen, sondern etwas anderes, häufig wird hier ein "BETWEEN AND" verwendet. Damit Sie sich etwas vorstellen können darunter, kurz dieses Beispiel. Sie sehen hier auf der einen Seite die Tabelle "Personal" mit einer Personalnummer, Nachname, Vorname, sowie einem Gehalt. Daneben sehen Sie eine zweite Tabelle abgebildet, die Tabelle "Gehaltsstufen". In der Tabelle "Gehaltsstufen" gibt es eine Spalte "Stufe", in dem Fall "1" bis "7", und jede dieser Stufen hat eine Unter- und eine Obergrenze. Das heißt, alle Gehälter die in diesem Bereich sind, gehören dieser Stufe an. Und jetzt wollen wir auswerten, welcher Mitarbeiter gehört welcher Gehaltsstufe an. Jetzt werden Sie sehen, dass es in beiden Tabellen nichts gibt, das Sie gleichsetzen können. Sie haben weder in der Personaltabelle die Gehaltsstufe vermerkt, über die Sie eine Verbindung herstellen könnten, noch finden Sie in der Gehaltsstufe ein Gehalt, geschweige denn eine Personalnummer; d.h. zwischen diesen beiden Tabellen wäre auch nie eine Beziehung denkbar, weil es nichts gibt, was übereinstimmt. Aber dennoch kann man einen "JOIN" realisieren. Das wäre dann ein "NON EQUI-JOIN" und in der JOIN-Bedingung können wir nur eines definieren, nämlich in diesem Fall, dass das Gehalt, das wir auf der einen Seite sehen, zwischen der Untergrenze der entsprechenden Gehaltsstufe auf der anderen Seite und der Obergrenze liegen muss. Mit anderen Worten, in der JOIN-Bedingung finden wir "Gehalt BETWEEN Untergrenze AND Obergrenze", d.h. in der JOIN-Bedingung findet sich etwas anderes als ein Gleichheitszeichen. So etwas wird dann als "NON EQUI-JOIN" bezeichnet. Die Unterscheidung in "EQUI-JOIN" und "NON EQUI-JOIN" deckt sich nicht mit der Unterscheidung in "INNER-" und "OUTER JOIN", das sind zwei unterschiedliche Arten von Unterscheidungen. Das heißt, ein "JOIN", der durchgeführt wird, ist einerseits entweder ein "INNER JOIN" oder ein "OUTER JOIN", oder andererseits zusätzlich auch ein "NON EQUI-JOIN" oder ein "EQUI-JOIN". Die Standardvariante schlechthin ist ein "INNER JOIN", der als "EQUI-JOIN" verwendet wird. Sie haben in diesem Video nun einen Überblick bekommen über die Arten, wie ein "JOIN" in der Praxis realisiert werden kann.

SQL Grundkurs 1: Die Sprache erlernen

Arbeiten Sie sich in die Grundlagen der Datenbanksprache SQL am Beispiel von Microsoft SQL Server, Oracle und MySQL ein und lassen Sie sich die praktische Nutzung erklären.

14 Std. 40 min (112 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

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!