LEFT JOIN
Beim LEFT JOIN werden alle Einträge der linken Tabelle beibehalten, während von der rechten Tabelle nur Einträge übernommen werden, auf die die angegebene Bedingung passt. Wenn Einträge aus der linken Tabelle übernommen werden, die nicht mit einem rechten Eintrag gematcht werden konnten, so werden die Spalten, die von der rechten Tabelle sind, mit NULL aufgefüllt.
Bei diesem Beispiel werden von der linken Tabelle, also Article, alle Einträge übernommen, von der OrderArticle aber nur jene, bei denen die ArticleId mit der Id von Article übereinstimmt. Das heißt, bei den Artikeln, für die es noch keine Bestellung gegeben hat, werden die Spalten in der Endtabelle, die von OrderArticle übernommen wurden, mit NULL aufgefüllt.
Folgender Ausschnitt der Endtabelle veranschaulicht das:
Für die ersten drei IDs in dieser Tabelle gab es keine passende ArticleId in OrderArticle, weshalb die Einträge zwar übernommen wurde, aber OrderId, ArticleId und Quantity mit NULL aufgefüllt wurden. Bei den Einträgen, bei denen eine Übereinstimmung vorliegt, wird wie beim INNER JOIN vorgegangen - alle Übereinstimmungen werden in die Endtabelle übernommen.
RIGHT JOIN
Beim RIGHT JOIN passiert genau das Gleiche, wie beim LEFT JOIN, nur umgekehrt. Das heißt, wenn man einen LEFT JOIN bei einer Abfrage macht, danach die beiden Tabellen in der Reihenfolge vertauscht, und nun einen RIGHT JOIN macht, kommt dasselbe Endergebnis heraus.
Wenn man also das Ergebnis der folgenden Abfrage mit dem der obigen Abfrage mit dem LEFT JOIN vergleicht, wird man feststellen, dass bis auf die Reihenfolge, in der die Spalten angezeigt werden, dasselbe Ergebnis herausgekommen ist.
INNER JOIN
Tutorial zu Abfragen auf mehreren Tabellen mit JOINs, insbesondere dem INNER JOIN
FULL JOIN
Tutorial zum FULL JOIN und seiner Verwendung
Subquery
Tutorial zu Unterabfragen/Subqueries mit Beispiel
WHERE Statement
Tutorial zur Verwendung von WHERE Statements mit Erklärung zu AND und OR
SQL Tutorials
Hast du noch Fragen oder bist dir bei einer Aufgabe unsicher? Wirf einen Blick auf die SQL Tutorials!
Übersicht der Katas
Hier findest du die Erklärung zum Begriff "Katas" und eine Übersicht aller Programmierübungen.
Dojo - virtueller Übungsraum
Löse die Dojo-Aufgaben und werde Programmier-Profi!