Eine Kurzanleitung zur Verwendung von Inner Joins in SQL

Relationale Datenbanken sind ein stabiler Bestandteil vieler Unternehmen. Sie werden mit einer Computersprache namens Structured Query Language (SQL) erstellt. Wenn Sie mit relationalen 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 behandelt werden, als ob sie sich in einer Tabelle befinden würden. Die Tabellen selbst werden durch den Join nicht verändert.

SQL JOIN 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 mit einem Inner Join kombiniert werden.

Beispiel für eine innere Verbindung

Nimm zum Beispiel Tabellen, die Treiber enthalten

instagram viewer
in einer Tabelle und Fahrzeug-Matches in der zweiten. Die innere Verbindung tritt auf, wenn sich sowohl das Fahrzeug als auch der Fahrer in derselben Stadt befinden. Der Inner Join wählt alle Zeilen aus beiden Tabellen aus, die eine Übereinstimmung zwischen den 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 Nachname, Vorname, Tag
VON Fahrern, Fahrzeugen
WHERE Fahrer.Standort = Fahrzeuge.Standort

Diese Abfrage liefert die folgenden Ergebnisse:

Nachname Vorname-Tag

Bäcker 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 sich an Standorten befinden, die am Wochenende geöffnet sind, fügen Sie eine dritte Tabelle in die Abfrage ein, indem Sie die JOIN-Anweisung wie folgt erweitern:

SELECT Nachname, Vorname, Tag, open_weekends
VON Fahrern, Fahrzeugen, Standorten
WHERE Fahrer.Standort = Fahrzeuge.Standort
UND Fahrzeuge.Standort = Standorte.Standort
UND location.open_weekends = 'Ja'

Diese Abfrage liefert die folgenden Ergebnisse:

Nachname Vorname Tag open_weekends

Bäcker Roland H122JM ja
Jacobs Abraham J291QR ja
Jacobs Abraham L990MY ja

Diese leistungsstarke Erweiterung der grundlegenden SQL-Anweisung JOIN kombiniert Daten auf komplexe Weise. Neben der Kombination von Tabellen mit einem Inner Join kombiniert diese Technik mehrere Tabellen mit anderen Join-Typen.

Andere Arten von Verknüpfungen

Wenn die Tabellen einen übereinstimmenden Datensatz haben, sind Inner Joins der richtige Weg, aber manchmal hat eine Tabelle keinen Bezugsdatensatz für die Daten, auf denen der Join aufbaut, 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 aufweisen.

Darüber hinaus können Sie je nach den Umständen einen anderen Join-Typ verwenden. Diese anderen Arten von Verknüpfungen sind:

  • Linke äußere Verbindung (linker Join): Enthält jeden Datensatz aus der linken Tabelle, auch wenn die rechte Tabelle keinen passenden Datensatz hat.
  • Rechter äußerer Join (Right Join): Gibt alle relevanten Informationen aus der rechten Tabelle zurück, auch wenn die linke Tabelle keine Übereinstimmung hat.
  • Voll beitreten: Wählt alle Datensätze aus zwei Tabellen aus, unabhängig davon, ob sie eine übereinstimmende Join-Bedingung haben oder nicht.