SQLite

So verbinden Sie Tabellen in SQLite

So verbinden Sie Tabellen in SQLite
Wenn wir mit Datenbanken arbeiten, müssen wir manchmal Datensätze aus Tabellen in einer Datenbank zusammenführen. In diesem Fall können wir die SQL JOIN-Anweisung verwenden, die die angegebenen Felder mit gemeinsamen Werten in jedem Feld kombiniert.

Es gibt drei Haupttypen von SQLite-Joins.

  1. Das CROSS JOIN
  2. INNERE VERBINDUNG
  3. LINKE ÄUSSERE VERBINDUNG

Dieses Tutorial führt Sie schnell durch diese SQLite-Joins und zeigt Ihnen, wie Sie Datenbankeinträge verbinden join.

Beginnen wir mit dem INNER JOIN, da es einfach ist und eine Grundlage für uns bildet, andere JOIN-Typen zu verstehen.

1: Der INNERE JOIN

Der INNER JOIN funktioniert, indem er eine neue Tabelle erstellt, indem die Werte der angegebenen Tabellen kombiniert werden. Es beginnt damit, die Zeile in jeder Tabelle zu vergleichen und alle passenden Paare für das angegebene Prädikat zu finden. Es kombiniert dann die passenden Paare in einer einzigen Reihe.

Die allgemeine Syntax für INNER JOIN lautet:

SELECT Spalte(n) FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.Spalte = Tabelle2.Säule;

Sehen wir uns eine JOIN-Operation an, um zu veranschaulichen, wie sie funktioniert.

Angenommen, Sie haben eine Tabelle mit dem Namen Benutzer mit Feldern: ID, Name, Alter, Sprachbeispiel SQL-Abfrage zum Erstellen einer Tabelle ist unten:

CREATE TABLE "users" (
"id" INTEGER NICHT NULL,
"name" TEXT NICHT NULL,
"Alter" INTEGER NICHT NULL,
"Sprache" TEXT,
PRIMÄRSCHLÜSSEL("id" AUTOINKREMENT)
);

Wir haben auch eine andere Tabelle namens rows mit den Feldern id und role-SQL Query, die unten bereitgestellt wird:

TABELLE ERSTELLEN "Rollen" (
"id" INTEGER NICHT NULL,
"Rolle" TEXT,
PRIMÄRSCHLÜSSEL("id" AUTOINKREMENT)
)

Jetzt können wir eine SQLite INNER JOIN-Operation mit der unten gezeigten Abfrage ausführen:

SELECT-Benutzer.ID, Benutzer.Name, Rollen.Rolle VON Benutzern INNER JOIN Rollen für Benutzer.id = Rollen.Ich würde;

Die obige Abfrage führt zu der folgenden Tabelle:

2: Das CROSS JOIN

Die andere Art von SQL JOIN ist der CROSS JOIN. Dieser Typ gleicht jede Zeile aus der ersten Tabelle mit jeder Zeile in der zweiten Tabelle ab. Betrachten Sie es als kartesisches Produkt, da die Ergebnisse eine Reihe von Zeilen aus Tabelle 1 sind, die mit jeder Zeile in Tabelle 2 übereinstimmen. Wenn beispielsweise table1 (a) Zeilen hat und table2 (b) Zeilen hat, hat die resultierende Tabelle a*b row.

HINWEIS: Seien Sie vorsichtig, wenn Sie Cross-Joins verwenden, da sie das Potenzial haben, riesige Tabellensätze zu erzeugen.

Die allgemeine Syntax für einen Cross-Join lautet:

SELECT Spalte(n) FROM Tabelle1 CROSS JOIN Tabelle2;

Betrachten Sie einen Cross-Join aus der Tabelle des Benutzers mit allen Zeilen der Rollentabelle. Betrachten Sie die folgende SQL-Abfrage:

SELECT * FROM Benutzer CROSS JOIN Rollen;

Das Ausführen der obigen Abfrage führt zu einer Tabelle wie unten gezeigt:

3: Der LINKE ÄUSSERE JOIN

Der letzte Join, den wir uns ansehen werden, ist der OUTER JOIN. Der OUTER JOIN ist eine Erweiterung des INNER JOIN. Wie der INNER-Join drücken wir ihn unter Bedingungen wie ON, NEUTRAL und USING aus. Es ist auch gut zu beachten, dass SQL drei Arten von OUTER JOINS definiert: left, right und full, aber SQLite unterstützt nur LEFT JOIN.

Der LEFT äußere JOIN gibt alle Zeilen aus der LEFT-Tabelle zurück, die in der Bedingung angegeben ist und nur die Zeilen aus anderen Tabellen, bei denen die Join-Bedingung wahr ist.

Betrachten Sie die folgende Abfrage.

SELECT-Benutzer.ID, Benutzer.Name, Rollen.Rolle, Benutzer.Sprache VON Benutzern LEFT OUTER JOIN Rollen FÜR Benutzer.id = Rollen.Ich würde;

Die obige Abfrage führt zu der folgenden Tabelle:

Fazit

Dieses Tutorial hat gezeigt, wie Sie SQL-Joins in SQLite ausführen und neue Tabellen mit geänderten Informationen erstellen create. Es ist gut, weiter mit SQL JOINs zu experimentieren, da sie bei der Arbeit mit Datenbanken sehr praktisch sind handy.

Danke fürs Lesen!

So verwenden Sie AutoKey zur Automatisierung von Linux-Spielen
AutoKey ist ein Desktop-Automatisierungsdienstprogramm für Linux und X11, programmiert in Python 3, GTK und Qt. Mithilfe der Skript- und MACRO-Funktio...
So zeigen Sie den FPS-Zähler in Linux-Spielen an
Linux-Gaming bekam einen großen Schub, als Valve 2012 die Linux-Unterstützung für den Steam-Client und seine Spiele ankündigte. Seitdem haben viele AA...
Herunterladen und Spielen von Sid Meier's Civilization VI unter Linux and
Einführung in das Spiel Civilization 6 ist eine moderne Version des klassischen Konzepts, das in der Reihe der Age of Empires-Spiele eingeführt wurde....