Eine Anleitung zur Verwendung von Inner Joins in SQL zum Gruppieren von Daten aus mehreren Tabellen
SQL JOIN-Anweisungen können Daten aus 2 oder mehr Tabellen zusammenführen
slungu/Getty Images
Relationale Datenbanken sind ein stabiler Bestandteil vieler Unternehmen. Sie werden mit einer Computersprache namens erstellt Strukturierte Abfragesprache (SQL). Wenn Sie mit arbeiten relationale Datenbanken , werden Sie gelegentlich Daten untersuchen oder sammeln, die sich in mehr als einer Tabelle der Datenbank befinden.
Was ist eine SQL JOIN-Anweisung?
Eine SQL JOIN-Anweisung ermöglicht es, zwei oder mehr Tabellen zu verknüpfen, normalerweise basierend auf einer verwandten Spalte, sodass die Daten so behandelt werden, als ob sie sich in einer Tabelle befinden. Die Tabellen selbst werden durch den Join nicht verändert.
SQL-VERBINDUNG ist flexibel und funktional. Obwohl es mehrere Arten von Joins gibt, ist der Inner Join einer der am einfachsten zu verstehenden und zu verwendenden. Sehen Sie sich die folgenden SQL-Anweisungen an, die veranschaulichen, wie Ergebnisse aus drei verschiedenen Tabellen mithilfe eines Inner Join kombiniert werden.
Beispiel für eine innere Verknüpfung
Nehmen Sie zum Beispiel Tabellen, die Treiber enthalten in einer Tabelle und Fahrzeugmatchups in der zweiten. Die innere Verbindung tritt auf, wenn sich sowohl das Fahrzeug als auch der Fahrer in derselben Stadt befinden. Der innere Join wählt alle Zeilen aus beiden Tabellen aus, die eine Übereinstimmung zwischen Standortspalten enthalten.
Die folgende SQL-Anweisung kombiniert Daten aus den Tabellen Drivers und Vehicles in Fällen, in denen sich Fahrer und Fahrzeug in derselben Stadt befinden:
WÄHLEN Sie Nachname, Vorname, Tag
VON Fahrern, Fahrzeugen
WO Fahrer.Standort = Fahrzeuge.Standort
Diese Abfrage liefert die folgenden Ergebnisse:
Nachname Vorname-Tag
-------- --------- ---
Baker Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jacobs Abraham J291QR
Jacobs Abraham L990MT
Erweitern Sie dieses Beispiel nun um eine dritte Tabelle. Um nur Fahrer und Fahrzeuge einzubeziehen, die an Orten vorhanden sind, die am Wochenende geöffnet sind, bringen Sie eine dritte Tabelle in die Abfrage, indem Sie die JOIN-Anweisung wie folgt erweitern:
SELECT nachname, vorname, tag, open_weekends
VON Fahrern, Fahrzeugen, Standorten
WO Fahrer.Standort = Fahrzeuge.Standort
UND fahrzeuge.standort = standorte.standort
UND locations.open_weekends = 'Ja'
Diese Abfrage liefert die folgenden Ergebnisse:
Nachname Vorname Tag open_weekends
-------- --------- --- -------------
Baker Roland H122JM ja
Jacobs Abraham J291QR ja
Jacobs Abraham L990MY ja
Diese leistungsstarke Erweiterung der grundlegenden SQL JOIN-Anweisung kombiniert Daten auf komplexe Weise. Zusätzlich zum Kombinieren von Tabellen mit einem Inner Join kombiniert diese Technik mehrere Tabellen mit anderen Join-Typen.
Andere Arten von Joins
Wenn die Tabellen einen übereinstimmenden Datensatz haben, sind Inner Joins der richtige Weg, aber manchmal hat eine Tabelle keinen verwandten Datensatz für die Daten, auf denen der Join aufgebaut ist, sodass die Abfrage fehlschlägt. Dieser Fall erfordert eine äußere Verbindung , die Ergebnisse enthält, die in einer Tabelle vorhanden sind, aber keine entsprechende Übereinstimmung in der verknüpften Tabelle haben.
Darüber hinaus können Sie je nach den Umständen einen anderen Join-Typ verwenden. Diese anderen Arten von Joins sind: