TOP

SQL-Lektion 10. Tabellen verknüpfen (INNER JOIN)

Die leistungsstärkste Funktion der SQL-Sprache ist die Möglichkeit, während der Abfrageausführung verschiedene Tabellen im RAM des DBMS zu kombinieren. Joins werden sehr häufig zur Datenanalyse verwendet. In der Regel befinden sich die Daten in verschiedenen Tabellen, was eine effizientere Speicherung ermöglicht (da Informationen nicht dupliziert werden), die Datenverarbeitung vereinfacht und die Skalierung der Datenbank ermöglicht (es ist möglich, neue Tabellen mit zusätzlichen Informationen hinzuzufügen). .

Die im DBMS MS Access verwendeten Datenbanktabellen sind relationale Tabellen, das heißt, alle Tabellen können durch gemeinsame Felder miteinander verbunden werden.


1. Erstellen einer Kombination von Tabellen (JOINS)

Das Kombinieren von Tabellen ist ein sehr einfacher Vorgang. Es ist notwendig, alle Tabellen anzugeben, die in die Kombination einbezogen werden, und dem DBMS zu „erklären“, wie sie miteinander in Beziehung stehen. Die Verbindung erfolgt über das Wort WHERE, zum Beispiel:

Run SQLSELECT DISTINCT Seller_name, Product 
FROM Sellers, Sumproduct 
WHERE Sellers.City = Sumproduct.City

Durch die Kombination der beiden Tabellen konnten wir sehen, welche Produkte jeder Verkäufer verkauft. Schauen wir uns den Anfragecode genauer an, da er sich geringfügig von einer normalen Anfrage unterscheidet. Die SELECT-Anweisung beginnt mit der Angabe der Spalten, die wir ausgeben möchten, aber diese Felder befinden sich in verschiedenen Tabellen. Die FROM-Klausel enthält zwei Tabellen, die wir in der SELECT-Anweisung verbinden möchten. Die Tabellen werden mit dem Wort WHERE verbunden, das die Spalten angibt beitreten. Sie müssen den vollständigen Namen des Feldes (Table.Field) angeben, da das Feld City in beiden Tabellen vorkommt.

2. Interne Kombination (INNER JOIN)

Im vorherigen Beispiel haben wir das Wort WHERE verwendet, um Tabellen zu kombinieren, wodurch eine Prüfung basierend auf der Äquivalenz zweier Tabellen durchgeführt wird. Eine solche Kombination wird auch „innere Kombination“ genannt. Es gibt auch eine andere Möglichkeit, Tabellen zu kombinieren, die eindeutig auf die Art der Kombination hinweist. Betrachten Sie das folgende Beispiel:

Run SQLSELECT DISTINCT Seller_name, Product 
FROM Sellers 
INNER JOIN Sumproduct 
ON Sellers.City = Sumproduct.City

In dieser Abfrage haben wir anstelle von WHERE die Konstruktion INNER JOIN ... ON ... verwendet, die ein ähnliches Ergebnis lieferte. Obwohl die Kombination mit der WHERE-Klausel kürzer ist, ist es dennoch besser, INNER JOIN zu verwenden, da diese flexibler ist, wie in den folgenden Abschnitten genauer erläutert wird.