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.

SELECT * FROM Article LEFT OUTER JOIN OrderArticle ON Id = ArticleId;
text/x-csharp

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.

SELECT * FROM OrderArticle RIGHT OUTER JOIN Article ON Id = ArticleId;
text/x-csharp
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!

Jetzt SQL Übungen meistern!

Bist du bereit für die Übungen?

SQL Aufgaben

Über Digital Dojo

Das Digital Dojo ist der virtuelle Übungsraum von COUNT IT.

Angehende Programmierer*innen, Code-Neulinge, Wiedereinsteiger*innen und Fortgeschrittene finden hier das nötige Rüstzeug für ihre Karriere.

Du möchtest deine Lehre bei COUNT IT starten? Dann bist du hier richtig - besiege deine Gegner im Dojo Game und sichere dir deine Lehrstelle!

Inspire your career.

Newsletter abonnieren

Der COUNT IT Newsletter liefert viermal jährlich interessante Neuigkeiten über das Unternehmen. Gleich anfordern!