SQL ist ein leistungsstarkes Werkzeug für die Interaktion mit relationalen Datenbanken. Wenn Sie mit Tabellen in SQL arbeiten, müssen Sie häufig Daten aus mehreren Tabellen kombinieren. Hier helfen JOIN-Operationen. LEFT JOIN und LEFT OUTER JOIN sind zwei häufig verwendete Befehle. Obwohl sie unterschiedlich erscheinen, erfüllen sie tatsächlich die gleiche Funktion. Lassen Sie uns die Funktionsweise und den Unterschied zwischen SQL LEFT JOIN und LEFT OUTER JOIN verstehen.

Was ist ein LEFT JOIN?

Ein LEFT JOIN ist eine Artwork SQL JOIN-Vorgang, der Zeilen aus zwei Tabellen basierend auf einer zugehörigen Spalte kombiniert. Das Hauptmerkmal eines LEFT JOIN besteht darin, dass er alle Zeilen aus der linken Tabelle und die übereinstimmenden Zeilen aus der rechten Tabelle zurückgibt. Wenn es keine Übereinstimmung gibt, enthält das Ergebnis NULL-Werte für Spalten aus der rechten Tabelle.

Syntax

SELECT columns
FROM left_table
LEFT JOIN right_table
ON left_table.column_name = right_table.column_name;

In der obigen Syntax:

  • left_table: Die primäre Tabelle, aus der alle Zeilen zurückgegeben werden.
  • right_table: Die sekundäre Tabelle, aus der übereinstimmende Zeilen zurückgegeben werden.
  • Spaltenname: Die Spalte, die zum Verbinden der beiden Tabellen verwendet wird.

Beispiel für LEFT JOIN

SELECT workers.title, departments.department_name
FROM workers
LEFT JOIN departments
ON workers.department_id = departments.id;

Diese Abfrage ruft alle Mitarbeiter und ihre entsprechenden Abteilungsnamen ab. Wenn ein Mitarbeiter keiner Abteilung zugeordnet ist, wird im Ergebnis NULL für den Abteilungsnamen angezeigt.

Lesen Sie auch: Joins in SQL – Innere, linke, rechte und vollständige Joins erklärt

Was ist ein LEFT OUTER JOIN?

Der LEFT OUTER JOIN funktioniert genau wie der LEFT JOIN. Es gibt alle Zeilen aus der linken Tabelle und die übereinstimmenden Zeilen aus der rechten Tabelle zurück. Wenn es keine Übereinstimmung gibt, wird NULL für Spalten aus der rechten Tabelle zurückgegeben. Der Begriff „OUTER“ ist optionally available und ändert nichts am Verhalten des JOIN. In einigen SQL-Dialekten wird es häufig aus Gründen der Klarheit verwendet.

Syntax

SELECT columns
FROM left_table
LEFT OUTER JOIN right_table
ON left_table.column_name = right_table.column_name;

Mit dem gleichen Beispiel wie oben könnten wir unsere Abfrage wie folgt umschreiben:

Wie Sie sehen, ist die Syntax identisch mit der des LEFT JOIN. Der einzige Unterschied besteht in der Einbeziehung des Wortes OUTER.

Beispiel für LEFT OUTER JOIN

SELECT workers.title, departments.department_name
FROM workers
LEFT OUTER JOIN departments
ON workers.department_id = departments.id;

Diese Abfrage ruft auch alle Mitarbeiter und ihre entsprechenden Abteilungsnamen ab, genau wie der LEFT JOIN. Wenn ein Mitarbeiter keiner Abteilung zugeordnet ist, wird im Ergebnis NULL für den Abteilungsnamen angezeigt.

Lesen Sie auch: SQL-Leitfaden von den Grundlagen bis zum Fortgeschrittenenniveau

SQL LEFT JOIN vs. LEFT OUTER JOIN

Während die Bedingungen LINKS BEITRETEN Und LINKER ÄUßERER JOIN unterschiedlich aussehen, sind sie in SQL funktional identisch. Der einzige Unterschied liegt in der Syntax:

  • LINKS BEITRETEN: Kürzer und häufiger verwendet.
  • LINKER ÄUßERER JOIN: Beinhaltet das optionale „ÄUSSERE“ Stichwort zur Verdeutlichung.

Beide Befehle liefern die gleichen Ergebnisse, sodass die Wahl zwischen ihnen eine Frage der persönlichen oder organisatorischen Präferenz ist.

Praxisbeispiele: LEFT JOIN und LEFT OUTER JOIN

Um eine Beispieldatenbank mit Mitarbeiter- und Abteilungstabellen zu erstellen und dann die LEFT JOIN- und RIGHT JOIN-Beispiele zu verwenden, können Sie die folgenden SQL-Befehle verwenden.

Schritt 1: Datenbank erstellen

Erstellen Sie zunächst die Datenbank, in der sich die Tabellen befinden sollen.

CREATE DATABASE company_db;
USE company_db;

Schritt 2: Tabellen erstellen

Jetzt erstellen wir die Mitarbeiter- und Abteilungstabellen.

-- Create the 'departments' desk
CREATE TABLE departments (
    id INT PRIMARY KEY,
    department_name VARCHAR(100) NOT NULL
);

-- Create the 'workers' desk
CREATE TABLE workers (
    id INT PRIMARY KEY,
    title VARCHAR(100) NOT NULL,
    department_id INT,
    FOREIGN KEY (department_id) REFERENCES departments(id)
);

Schritt 3: Daten in Tabellen einfügen

Fügen Sie nun einige Beispieldaten in beide Tabellen ein:

-- Insert knowledge into 'departments' desk
INSERT INTO departments (id, department_name) VALUES
(1, 'HR'),
(2, 'IT'),
(3, 'Finance'),
(4, 'Advertising');

Ausgabe:

Daten in Tabellen einfügen
-- Insert knowledge into 'workers' desk
INSERT INTO workers (id, title, department_id) VALUES
(1, 'Alice', 2),
(2, 'Bob', 3),
(3, 'Charlie', NULL),
(4, 'David', 1);

Ausgabe:

Daten in Tabellen einfügen

Schritt 4: Führen Sie die Abfragen aus

Nachdem die Datenbank und die Tabellen nun erstellt und mit Daten gefüllt sind, können Sie die Abfragen LEFT JOIN und RIGHT JOIN ausführen.

LEFT JOIN-Abfrage

SELECT workers.title, departments.department_name
FROM workers
LEFT JOIN departments
ON workers.department_id = departments.id;

Ausgabe:

Führen Sie die Abfragen aus

RIGHT JOIN-Abfrage

SELECT workers.title, departments.department_name
FROM workers
RIGHT JOIN departments
ON workers.department_id = departments.id;

Ausgabe:

Führen Sie die Abfragen aus

Wann sollte LEFT JOIN oder LEFT OUTER JOIN verwendet werden?

  • Datenabruf: Verwenden Sie einen LEFT JOIN, wenn Sie alle Datensätze aus der linken Tabelle benötigen, auch wenn es in der rechten Tabelle keine passenden Datensätze gibt.
  • Berichterstattung: Superb zum Erstellen von Berichten, in denen Sie alle Elemente (z. B. Produkte, Mitarbeiter) unabhängig von ihren Beziehungen einbeziehen möchten.
  • Datenanalyse: Hilft bei der Identifizierung von Lücken oder fehlenden Beziehungen zwischen Datensätzen.

Abschluss

Zusammenfassend lässt sich sagen, dass sowohl LEFT JOIN als auch LEFT OUTER JOIN in SQL synonyme Begriffe sind, die dem gleichen Zweck dienen, Daten aus zwei Tabellen zu kombinieren und gleichzeitig sicherzustellen, dass alle Datensätze aus der linken Tabelle in der Ergebnismenge enthalten sind. Die Entscheidung, einen Begriff dem anderen vorzuziehen, hängt oft von persönlichen oder organisatorischen Vorlieben ab. Wenn Sie dies verstehen, können Sie Ihre Effizienz beim Schreiben von SQL-Abfragen steigern und Verwirrung bei Datenbearbeitungsaufgaben vermeiden.

Stellen Sie damit Ihre SQL-Kenntnisse auf die Probe SQL-Projekte!

Häufig gestellte Fragen

Q1. Was ist der Unterschied zwischen LEFT JOIN und LEFT OUTER JOIN?

A. Es gibt keinen Unterschied. LEFT JOIN und LEFT OUTER JOIN sind funktional identisch. Der Begriff „AUßEN“ ist optionally available und dient der Klarheit.

Q2. Wann sollte ich einen LEFT JOIN verwenden?

A. Verwenden Sie einen LEFT JOIN, wenn Sie alle Datensätze aus der linken Tabelle benötigen, auch wenn es in der rechten Tabelle keine passenden Datensätze gibt.

Q3. Enthält LEFT JOIN NULL-Werte?

A. Ja, ein LEFT JOIN gibt NULL-Werte für Spalten aus der rechten Tabelle zurück, wenn es keine Übereinstimmung für eine Zeile in der linken Tabelle gibt.

This fall. Kann ich LEFT JOIN und LEFT OUTER JOIN austauschbar verwenden?

A. Ja, Sie können LEFT JOIN und LEFT OUTER JOIN in SQL-Abfragen austauschbar verwenden. Beide führen zu den gleichen Ergebnissen.

Hallo, ich bin Janvi, ein leidenschaftlicher Knowledge-Science-Fanatic, der derzeit bei Analytics Vidhya arbeitet. Meine Reise in die Welt der Daten begann mit einer tiefen Neugier, wie wir aus komplexen Datensätzen aussagekräftige Erkenntnisse gewinnen können.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert