Zum Hauptinhalt springen

Funktionsweise von JOIN in SQL: Abrufen der benötigten Informationen durch die Verknüpfung von Tabellen

JOIN - einer der wichtigsten Operatoren in der SQL-Abfragesprache für strukturierte Abfragen. Es wird verwendet, um Daten aus mehreren Tabellen zu einem einzigen Ergebnis zu kombinieren, um die benötigten Informationen in verschiedenen verknüpften Tabellen zu erhalten. Mit JOIN können Sie Werte aus den angegebenen Tabellenspalten vergleichen und nur die Informationen zurückgeben, die den Join-Bedingungen entsprechen.

Es gibt verschiedene Arten von JOIN-Operationen in SQL: INNER JOIN, LEFT JOIN, RIGHT JOIN und FULL JOIN. Jeder dieser Typen kombiniert Tabellen auf unterschiedliche Weise, sodass Sie je nach Aufgabe flexibel mit den Daten arbeiten und die benötigten Informationen abrufen können.

INNER JOIN wird verwendet, wenn Sie Daten aus zwei Tabellen zusammenführen möchten, und nur die Informationen zurückgegeben werden, die in den angegebenen Spalten übereinstimmende Werte aufweisen. Dieser JOIN-Typ ist am häufigsten und wird zum Abrufen verwandter Informationen verwendet.

LEFT JOIN und RIGHT JOIN ermöglicht das Kombinieren von Daten aus zwei Tabellen, wobei alle Werte aus einer Tabelle beibehalten werden, und nur diejenigen, die mit den angegebenen Spalten übereinstimmen, werden von der anderen Tabelle beibehalten. Auf diese Weise können Sie Informationen aus einer Tabelle abrufen und mit Werten aus einer anderen Tabelle ergänzen.

FULL JOIN kombiniert Daten aus zwei Tabellen und gibt alle Werte aus beiden Tabellen zurück. Wenn aufgrund eines Joins keine Werte in einer der Tabellen vorhanden sind, werden NULL-Werte zurückgegeben. Dieser JOIN-Typ ermöglicht es Ihnen, vollständige Informationen aus zwei oder mehr Tabellen zu erhalten, ohne einen einzigen Datensatz zu verlieren.

Was ist ein JOIN in SQL und wie funktioniert es?

Ein JOIN wird verwendet, wenn Sie Daten aus verschiedenen Tabellen zusammenführen müssen, um die gewünschten Informationen zu erhalten. Es ermöglicht Ihnen, Zeilen aus einer Tabelle mit entsprechenden Zeilen aus einer anderen Tabelle basierend auf den Werten einer bestimmten Spalte, dem sogenannten Join-Schlüssel, zu kombinieren.

Der JOIN-Operator verwendet die folgende Syntax:

SELECT * FROM tabelle 1 JOIN tabelle 2 ON Bedingung;

wo tabelle 1 und tabelle 2 - dies sind die Namen der Tabellen, die zusammengeführt werden sollen, und Bedingung - dies ist die Bedingung, unter der Zeilen aus zwei Tabellen abgeglichen werden.

Ein JOIN kann basierend auf verschiedenen Arten von Verbindungen ausgeführt werden:

- INNER JOIN: Gibt nur die Zeilen zurück, für die es eine Übereinstimmung in beiden Tabellen gibt.

- LEFT JOIN: gibt alle Zeilen aus der linken Tabelle und die entsprechenden Zeilen aus der rechten Tabelle zurück.

- RIGHT JOIN: Gibt alle Zeilen aus der rechten Tabelle und die entsprechenden Zeilen aus der linken Tabelle zurück.

- FULL JOIN: Gibt alle Zeilen aus beiden Tabellen zurück.

JOIN ist ein leistungsfähiges Werkzeug, mit dem Sie die gewünschten Informationen erhalten können, indem Sie Daten aus verschiedenen Tabellen kombinieren. Wenn Sie einen JOIN richtig verwenden, können Sie doppelte Daten vermeiden und den Prozess zum Abrufen der benötigten Informationen erheblich vereinfachen.

So kombinieren Sie Tabellen, um die gewünschten Informationen zu erhalten

Ein JOIN führt Datensätze aus zwei oder mehr Tabellen zusammen, basierend auf der Zuordnung der Werte der ausgewählten Spalten. Auf diese Weise können Sie alle benötigten Informationen in einer einzigen Abfrage abrufen, ohne mehrere separate Abfragen durchführen zu müssen.

Verschiedene JOIN-Typen werden verwendet, um Tabellen in SQL zu verbinden: INNER JOIN, LEFT JOIN, RIGHT JOIN und FULL JOIN. Der ausgewählte JOIN-Typ hängt davon ab, welche Datensätze in das Ergebnis aufgenommen werden.

INNER JOIN gibt nur die Datensätze zurück, für die die Werte in beiden Tabellen übereinstimmen. Wenn Sie einen LEFT JOIN verwenden, werden alle Datensätze aus der linken Tabelle zusammen mit den entsprechenden Werten aus der rechten Tabelle zurückgegeben (falls vorhanden). Der RIGHT JOIN macht dasselbe, gibt jedoch alle Datensätze aus der rechten Tabelle zurück. FULL JOIN gibt alle Datensätze aus beiden Tabellen zurück.

Um einen JOIN auszuführen, müssen Sie ein Kriterium für die Zuordnung von Spaltenwerten in der ON-Anweisung angeben. Dieses Kriterium kann Gleichheit, Ungleichheit oder andere Bedingungen sein, die Vergleichsoperatoren verwenden.

Beispiel für die Verwendung von JOIN:

Tabelle BenutzerTabelle Bestellungen
idorder_id
nameproduct
emailquantity
SELECT Пользователи.name, Заказы.product, Заказы.quantityFROM ПользователиJOIN Заказы ON Пользователи.id = Заказы.order_id;

In diesem Beispiel kombinieren wir die Tabellen Benutzer und Aufträge mit einem INNER JOIN. Wir wählen nur die Benutzernamen, Produkte und die Anzahl der Artikel aus der Tabelle Bestellungen aus, für die die Werte id in der Tabelle Benutzer und order_id in der Tabelle Bestellungen übereinstimmen.

JOIN bietet ein leistungsfähiges Werkzeug, um die benötigten Informationen aus verschiedenen Datenbanktabellen zu erhalten. Die korrekte Verwendung von JOIN spart Zeit und Ressourcen beim Ausführen von Datenbankabfragen.

Arten von JOIN-Operatoren: INNER JOIN, LEFT JOIN, RIGHT JOIN

Es gibt verschiedene Arten von JOIN-Anweisungen in SQL, mit denen Sie Daten aus mehreren Tabellen in einer einzigen Abfrage zusammenführen können. Betrachten Sie die grundlegenden Arten von JOIN-Anweisungen:

  • INNER JOIN: Der Operator INNER JOIN wählt nur die Zeilen aus den verknüpften Tabellen aus, die die angegebene Join-Bedingung erfüllen. Dies bedeutet, dass nur Zeilen zurückgegeben werden, für die in beiden Tabellen eine Übereinstimmung vorliegt.
  • LEFT JOIN: Der LEFT JOIN-Operator wählt alle Zeilen aus der linken (ersten) Tabelle und nur die Zeilen aus der rechten (zweiten) Tabelle aus, die die Join-Bedingung erfüllen. Wenn es keine Übereinstimmungen in der rechten Tabelle gibt, wird NULL zurückgegeben.
  • RIGHT JOIN: Der RIGHT JOIN-Operator wählt alle Zeilen aus der rechten (zweiten) Tabelle und nur die Zeilen aus der linken (ersten) Tabelle aus, die die Join-Bedingung erfüllen. Wenn es keine Übereinstimmungen in der rechten Tabelle gibt, wird NULL zurückgegeben.

Durch die Verwendung verschiedener JOIN-Anweisungen erhalten Sie beim Zusammenführen von Tabellen unterschiedliche Ergebnisse. Zum Beispiel können Sie mit INNER JOIN nur übereinstimmende Daten aus zwei Tabellen abrufen, mit LEFT JOIN und RIGHT JOIN können Sie alle Daten aus einer Tabelle und übereinstimmende Daten aus einer anderen Tabelle abrufen. Die Auswahl des JOIN-Operators hängt vom gewünschten Ergebnis und der Datenstruktur in den Tabellen ab.

Beispiel für die Verwendung von INNER JOIN:

SELECT *FROM table1INNER JOIN table2 ON table1.id = table2.id;

Beispiel für die Verwendung von LEFT JOIN:

SELECT *FROM table1LEFT JOIN table2 ON table1.id = table2.id;

Beispiel für die Verwendung von RIGHT JOIN:

SELECT *FROM table1RIGHT JOIN table2 ON table1.id = table2.id;

INNER JOIN: Nur übereinstimmende Werte abrufen

Das Schlüsselwort INNER JOIN wird verwendet, um Zeilen aus zwei oder mehr Tabellen unter Verwendung einer Übereinstimmungsbedingung zu verbinden. INNER JOIN gibt nur Zeilen zurück, in denen die Werte der Schlüsselspalte in beiden Tabellen übereinstimmen.

Das Funktionsprinzip von INNER JOIN besteht darin, dass für jede Zeile aus einer Tabelle eine entsprechende Zeile aus einer anderen Tabelle nur ausgewählt wird, wenn die Werte der Schlüsselspalte gleich sind.

Stellen wir uns beispielsweise zwei Tabellen vor: "Tabelle_1" mit den Spalten "id" und "Name" und "Tabelle_2" mit den Spalten "id" und "age". Sie können eine Abfrage mit INNER JOIN verwenden, um nur übereinstimmende ID-Werte abzurufen:

SELECT Таблица_1.id, Таблица_1.name, Таблица_2.ageFROM Таблица_1INNER JOIN Таблица_2ON Таблица_1.id = Таблица_2.id;

Ein INNER JOIN wird häufig verwendet, um Daten aus verschiedenen Tabellen nach gemeinsamen Werten zu verknüpfen. Beispielsweise können Sie mit INNER JOIN die Tabellen "Kunden" und "Aufträge" im Feld "Kunden-ID" kombinieren, um Informationen über die Kunden zu erhalten, die die Aufträge getätigt haben, und über die Aufträge, die ihre Kunden angeben.

Mit einem INNER JOIN können Sie nur Daten abrufen, die in beiden Tabellen über übereinstimmende Werte verfügen. Wenn eine der Tabellen keinen Wert für eine Schlüsselspalte enthält, der mit der Tabelle übereinstimmt, wird diese Zeile bei Verwendung von INNER JOIN ignoriert.

LEFT JOIN: Ruft alle Werte aus der ersten Tabelle und übereinstimmende Werte aus der zweiten Tabelle ab

LEFT JOIN wird wie folgt ausgeführt: für jeden Datensatz aus der linken (ersten) Tabelle überprüft die JOIN-Anweisung die Bedingung, dass Werte mit der rechten (zweiten) Tabelle übereinstimmen. Wenn es eine Übereinstimmung gibt, wird eine Zeile mit Daten aus der linken und rechten Tabelle in das Ergebnis eingefügt. Wenn keine Übereinstimmungen gefunden werden, wird nur die Zeile mit den Daten aus der linken Tabelle eingeschlossen, und die Werte aus der rechten Tabelle werden durch NULL ersetzt.

Auf diese Weise können Sie mit dem LEFT JOIN alle Werte aus der ersten Tabelle und die übereinstimmenden Werte aus der zweiten Tabelle abrufen.

Beispiel für die Verwendung von LEFT JOIN:

SELECT Orders.OrderID, Customers.CustomerNameFROM OrdersLEFT JOIN Customers ON Orders.CustomerID = Customers.CustomerID;

In diesem Beispiel werden die Tabellen "Orders" und "Customers" mit dem Feld "CustomerID" kombiniert. Das Ergebnis ist eine Liste aller Bestellungen (mit allen Feldern aus der Tabelle Bestellungen) und ein zugeordneter Kundenname (aus der Tabelle Kunden) für jede Bestellung. Wenn der Name des Kunden in der Tabelle Customers nicht vorhanden ist (keine Übereinstimmung), wird NULL für die entsprechenden Zeilen verwendet.

LEFT JOIN ist ein sehr nützlicher Operator, mit dem Sie alle Werte aus einer Tabelle und übereinstimmende Werte aus einer anderen Tabelle abrufen können. Es ermöglicht Ihnen, mit Daten aus mehreren Tabellen zu arbeiten und komplexere Abfragen zu erstellen, um die benötigten Informationen zu erhalten.

RIGHT JOIN: abrufen aller Werte aus der zweiten Tabelle und übereinstimmender Werte aus der ersten Tabelle

Der RIGHT JOIN gibt alle Werte aus der zweiten (rechten) Tabelle und nur die übereinstimmenden Werte aus der ersten (linken) Tabelle zurück. Dies bedeutet, dass, wenn in der rechten Tabelle Zeilen vorhanden sind, die in der linken Tabelle keine Übereinstimmungen aufweisen, diese ebenfalls in das Ergebnis aufgenommen werden.

Verwenden Sie das Schlüsselwort, um einen RIGHT JOIN in SQL auszuführen RIGHT JOIN oder RIGHT OUTER JOIN. Die Abfragesyntax lautet wie folgt:

SELECT SpaltenFROM Tabelle1RIGHT JOIN Tabelle2ON Bedingung
  • SELECT Spalten - Aufzählung der Spalten, die als Ergebnis zurückgegeben werden müssen;
  • FROM Tabelle1 - name der ersten Tabelle;
  • RIGHT JOIN Tabelle2 - name der zweiten Tabelle und Angabe des JOIN-Typs;
  • ON Bedingung - die Bedingung, unter der die Tabellen zusammengeführt werden.

Hier ist ein Beispiel für die Verwendung von RIGHT JOIN:

SELECT orders.order_id, customers.customer_nameFROM ordersRIGHT JOIN customersON orders.customer_id = customers.customer_id;

In diesem Beispiel wählen wir die Bestellkennung (order_id) aus der Tabelle orders und den Kundennamen (customer_name) aus der Tabelle customers aus, vorausgesetzt, dass die Kundennummer (customer_id) in beiden Tabellen identisch ist. Das Ergebnis ist eine Tabelle, die alle Werte aus der customers-Tabelle und nur die übereinstimmenden Werte aus der orders-Tabelle enthält.

Ein RIGHT JOIN kann nützlich sein, wenn Sie alle Werte aus der zweiten Tabelle und übereinstimmende Werte aus der ersten Tabelle abrufen möchten. Es ermöglicht Ihnen, Daten aus verschiedenen Tabellen zu einem einzigen Ergebnis zu kombinieren, basierend auf bestimmten Bedingungen.

Wann sollte ich INNER JOIN, LEFT JOIN oder RIGHT JOIN verwenden

Die Funktionsweise von JOIN-Anweisungen in SQL ermöglicht es Ihnen, Daten aus mehreren Tabellen zu kombinieren, um die gewünschten Informationen zu erhalten. Bei der Verwendung von JOIN-Operatoren wie INNER JOIN, LEFT JOIN oder RIGHT JOIN ist es wichtig, die Unterschiede in ihrer Leistung zu berücksichtigen und abhängig von den zugewiesenen Aufgaben einen bestimmten JOIN-Typ auszuwählen.

INNER JOIN wird verwendet, um Daten aus mehreren Tabellen zu kombinieren, wobei das Ergebnis nur die Informationen ist, die in beiden Tabellen die entsprechenden Werte aufweisen. INNER JOIN schließt Zeilen aus, die in beiden Tabellen keine Übereinstimmungen aufweisen.

LEFT JOIN oder "linker JOIN" gibt alle Zeilen aus der linken Tabelle und die entsprechenden Werte aus der rechten Tabelle zurück. Wenn in der rechten Tabelle keine übereinstimmenden Werte vorhanden sind, werden im Resultset NULL-Werte vorhanden sein.

Ein RIGHT JOIN oder "rechter JOIN" funktioniert ähnlich wie ein LEFT JOIN, gibt jedoch alle Zeilen aus der rechten Tabelle und die entsprechenden Werte aus der linken Tabelle zurück. Wenn in der linken Tabelle keine übereinstimmenden Werte vorhanden sind, werden im Resultset NULL-Werte vorhanden sein.

Daher hängt die Auswahl eines bestimmten JOIN-Typs davon ab, welche Informationen aus der Tabelle abgerufen werden sollen. INNER JOIN wird verwendet, wenn nur übereinstimmende Werte aus beiden Tabellen abgerufen werden sollen. Ein LEFT JOIN wird verwendet, wenn Sie alle Werte aus der linken Tabelle und die entsprechenden Werte aus der rechten Tabelle abrufen möchten. RIGHT JOIN wird verwendet, wenn Sie alle Werte aus der rechten Tabelle und die entsprechenden Werte aus der linken Tabelle abrufen möchten.

Beispiele für JOIN-Abfragen und ihre Ergebnisse

Mit JOIN-Abfragen können Sie zwei oder mehr Tabellen basierend auf bestimmten Bedingungen zusammenführen, um die benötigten Informationen aus diesen Tabellen zu erhalten. Betrachten Sie einige Beispiele für JOIN-Abfragen und deren Ergebnisse:

Beispiel 1:

idnameage
1John25
2Jane30
iduser_idproduct
11Apple
22Orange

SELECT users.name, orders.product FROM users JOIN orders ON users.id = orders.user_id;

nameproduct
JohnApfel
JanesOrange