Wozu ist dieses "JOIN" bei SQL?

2 Antworten

Hi,

INNER JOIN:

Der INNER JOIN gibt nur die Zeilen zurück, in denen es Übereinstimmungen in beiden Tabellen gibt. Zum Beispiel, wenn du eine Tabelle mit Informationen zu Kunden und eine andere Tabelle mit Bestellungen hast, würde ein INNER JOIN nur die Zeilen zurückgeben, in denen es sowohl Kunden als auch zugehörige Bestellungen gibt.

Beispiel:

SELECT customers.customer_id, customers.name, orders.order_id
FROM customers
INNER JOIN orders ON customers.customer_id = orders.customer_id;

LEFT JOIN (auch als LEFT OUTER JOIN bekannt):

Der LEFT JOIN gibt alle Zeilen aus der linken Tabelle und die übereinstimmenden Zeilen aus der rechten Tabelle zurück. Wenn es keine Übereinstimmungen in der rechten Tabelle gibt, werden die Spalten der rechten Tabelle mit NULL-Werten gefüllt. In unserem Kunden-Bestellungen-Beispiel würde ein LEFT JOIN alle Kunden und deren Bestellungen zurückgeben. Wenn ein Kunde keine Bestellung hat, werden die Spalten der Bestellung mit NULL gefüllt.

Beispiel:

SELECT customers.customer_id, customers.name, orders.order_id
FROM customers
LEFT JOIN orders ON customers.customer_id = orders.customer_id;
Woher ich das weiß:Studium / Ausbildung – Studium Wirtschaftsingenieurwesen
Misterpul  05.01.2024, 16:59

Wozu dann JOIN wenn es doch && gibt?

0

JOIN kombiniert Spalten zweier verknüpfter Tabellen, dabei braucht das System auch eine Angabe wie es die Daten kombinieren soll. Für den Join braucht es meist eine gemeinsame Spalte, zB eine Kundennummer

Inner Join bedeutet, dass aus beiden Tabellen nur die Daten kombiniert werden die gemeinsame Einträge haben, also nur die Zeilen mit der gleichen Kundennummer.

Bild zum Beitrag

Left/Right (outer) join bedeutet, dass alle Daten aus der linken (ersten)/ rechten (zweiten) Tabelle und die Übereinstimmenden aus der jeweils anderen kombiniert werden.

Bild zum Beitrag

Bild zum Beitrag

Beim FULL JOIN werden alle Daten die in einer der beiden Tabellen übereinstimmen kombiniert.

Bild zum Beitrag

Woher ich das weiß:Studium / Ausbildung – Studienabschluss in Informatik
 - (Datenbank, SQL)  - (Datenbank, SQL)  - (Datenbank, SQL)  - (Datenbank, SQL)