Zwei Tabellen in SQL zusammenführen

Zwei Tabellen In Sql Zusammenfuhren



In SQL bezieht sich die Tabellenzusammenführung auf den Prozess, bei dem die Daten aus zwei separaten Tabellen in einer bestimmten Datenbank auf der Grundlage einer gemeinsamen Spalte oder gemeinsamer Kriterien zu einer einzigen Einheit kombiniert werden. Ja, wenn es wie eine Tabelle klingt, ist es genau das, was es ist.

Ein Tabellen-Join oder eine Tabellen-Zusammenführung ist eine bekannte Funktion relationaler Datenbanken und unglaublich leistungsfähig. Es ermöglicht uns, die Informationen aus mehreren Quellen zu konsolidieren, um kohärentere und aussagekräftigere Dateneinblicke zu schaffen. Außerdem sind die relationalen Datenbanken dadurch hochgradig skalierbar (nicht flexibel), da wir die Daten in kleinere, überschaubare Blöcke aufteilen können, auf die wir später zurückgreifen können.

In diesem Tutorial behandeln wir die Grundlagen von Tabellenverknüpfungen oder Tabellenzusammenführungen. Schauen wir uns die Tabellenbeispiele aus der realen Welt an, um unser Wissen zu festigen.







Beispieltabelle

Bevor wir in die Welt der Tabellenverknüpfungen eintauchen, richten wir zunächst die Basistabellen ein, die wir zu Demonstrationszwecken verwenden werden.



Betrachten Sie zwei Tabellen, die die Mitarbeiter- und Gehaltsinformationen enthalten, wie in den folgenden Beispielabfragen gezeigt:



CREATE TABLE Mitarbeiter (

Employee_id INT AUTO_INCREMENT PRIMARY KEY,

Vorname VARCHAR( fünfzig ),

Nachname VARCHAR( fünfzig ),

Abteilung VARCHAR( fünfzig )

);

Anschließend können wir die Beispieldaten in die Tabelle des Mitarbeiters einfügen, wie in den folgenden Abfragen gezeigt:





INSERT INTO Mitarbeiter (Vorname, Nachname, Abteilung) WERTE

( „Alice“ , 'Schmied' , 'Personalwesen' ),

( 'Bob' , „Johnson“ , 'Marketing' ),

( 'Charlie' , 'Wilson' , 'Finanzen' ),

( 'David' , 'Braun' , 'Verkäufe' ),

( „Eva“ , 'Davis' , 'Maschinenbau' );

Lassen Sie uns fortfahren und eine neue Tabelle erstellen, um die Gehaltsinformationen wie folgt zu speichern:

TABELLE GEHALTE ERSTELLEN (

Salär_ID INT AUTO_INCREMENT PRIMÄRSCHLÜSSEL,

Employee_id INT,

Gehalt DEZIMAL( 10 , 2 ),

start_date DATUM,

end_date DATUM,

AUSLÄNDISCHER SCHLÜSSEL (employee_id) REFERENZEN Mitarbeiter(employee_id)

);

Fügen Sie die Beispieldaten wie folgt in die Tabelle ein:



INSERT INTO Gehälter (Mitarbeiter-ID, Gehalt, Startdatum, Enddatum) WERTE
( 1 , 60000,00 , '01.01.2023' , '31.12.2023' ),
( 2 , 55000,00 , '01.01.2023' , '31.12.2023' ),
( 3 , 65000,00 , '01.01.2023' , '31.12.2023' ),
( 4 , 58000,00 , '01.01.2023' , '31.12.2023' ),
( 5 , 70000,00 , '01.01.2023' , '31.12.2023' );

Dies sollte uns zwei Tabellen zur Verfügung stellen, die uns helfen können, das Konzept der Tabellenverknüpfung/-zusammenführung in SQL zu demonstrieren.

SQL-Tabellenzusammenführung/Tabellenverknüpfungen

Lassen Sie uns die verschiedenen Arten von Tabellenzusammenführungen erkunden, die wir durchführen können. Wir werden die Grundlagen behandeln, während wir zu den fortgeschritteneren übergehen.

INNER JOIN

Der erste und häufigste Tabellen-Join-Typ in SQL ist ein INNER JOIN. Ein INNER JOIN ermöglicht es uns, die Zeilen aus zwei Tabellen basierend auf einer bestimmten Bedingung zu kombinieren. Dieser Typ gibt dann nur die Zeilen zurück, in denen eine Übereinstimmung zwischen den Tabellen besteht.

Nehmen wir als Beispiel die Tabellen „Mitarbeiter“ und „Gehälter“, die wir zuvor erstellt haben. Um einen INNER JOIN in SQL durchzuführen, verwenden wir die INNER JOIN-Klausel wie folgt:

WÄHLEN

e.employee_id,

e.Vorname,

e.nachname,

e.Abteilung,

am Gehalt

AUS

Mitarbeiter e

INNER JOIN Gehälter s AN

e.employee_id = s.employee_id;

In der angegebenen Beispielabfrage verwenden wir einen INNER JOIN, um die Tabellen „employees“ und „salaries“ in der Spalte „employee_id“ zusammenzuführen, die in beiden Tabellen vorhanden ist. Der resultierende Satz enthält nur die übereinstimmenden Zeilen aus beiden Tabellen.

Eine Beispielausgabe sieht wie folgt aus:

LINKE ÄUSSERE VERBINDUNG

Wir haben auch einen LEFT OUTER JOIN, der alle Zeilen aus der linken Tabelle und die passenden Zeilen aus der rechten Tabelle kombiniert. Wenn es in der rechten Tabelle keine Übereinstimmung gibt, verwendet der Join den NULL-Wert.

WÄHLEN

e.employee_id,

e.Vorname,

e.nachname,

e.Abteilung,

am Gehalt

AUS

Mitarbeiter e

LEFT JOIN Gehälter s

AN

e.employee_id = s.employee_id;

In diesem Beispiel führen wir einen LEFT OUTER JOIN durch, um die Tabellen „Mitarbeiter“ und „Gehälter“ zusammenzuführen. Es werden alle Zeilen aus der Tabelle „Mitarbeiter“ einbezogen und die passenden Zeilen aus der Tabelle „Gehälter“ hinzugefügt. Für nicht übereinstimmende Zeilen sind jedoch NULL-Werte in der Spalte „Gehalt“ enthalten.

SQL UNION

Eine andere Methode zum Verbinden der Tabellen in SQL ist die Verwendung des UNION-Operators. Mit diesem Operator können wir die Ergebnisse von zwei oder mehr SELECT-Anweisungen in einer einzigen Ergebnismenge kombinieren.

Damit die Union anwendbar ist, müssen die Spalten in jeder SELECT-Anweisung denselben Datentyp haben.

Ein Beispiel ist wie folgt:

SELECT Mitarbeiter-ID, Vorname, Nachname, Abteilung, NULL AS Gehalt

VON Mitarbeitern e

UNION

SELECT mitarbeiter-id, NULL AS vorname, NULL AS nachname, NULL AS abteilung, gehalt

VON Gehälter s ;

In diesem Fall führt eine UNION die Tabellen „Mitarbeiter“ und „Gehälter“ zusammen. Anschließend erstellen wir in jeder SELECT-Anweisung die NULL-Spalten, um sicherzustellen, dass beide Tabellen eine ähnliche Anzahl von Spalten haben.

UNIONS sind technisch üblich, können aber besonders dann nützlich sein, wenn Sie Tabellen mit unterschiedlichen Strukturen zusammenführen müssen.

Abschluss

In diesem Tutorial haben wir die Grundlagen des Zusammenführens/Zusammenführens zweier Tabellen zu einem einzigen Ergebnissatz untersucht. Es ist gut zu bedenken, dass in diesem Beitrag noch viel mehr fortgeschrittene Verknüpfungen besprochen werden.