SQLite Outer Join

SQLite Outer Join
„Die linke Verbindung oder das linke äußere Join kombiniert zwei Tische. Es ruft Einträge ab, abhängig von einer in beiden erforderlichen Tabellen erfüllten Anforderungen, wobei nicht übereinstimmende Zeilen aus der definierten Tabelle erhalten werden können, die kurz vor der Join -Anweisung erstellt wurde.SQLite extrahiert alle relevanten Daten aus der linken Tabelle in der Situation des linken Join oder des linken Außenverbindens. Es entspricht diesen nur mit den Feldnamen, die in der Anforderung der rechten Tabelle angegeben sind. Der SQLite ändert den Wert jeder Spalte in der Spalte in Null, wenn die linke Tabelle nicht übereinstimmt. In diesem Artikel werden wir mehr über SQLite Outer Join untersuchen.”

Erstellen Sie eine Tabelle

Wir müssen zwei separate Tabellen erstellen und werden verschiedene Abfragen ausführen.

Nach dem Erstellen der Datenbank müssen wir die erste Tabelle erstellen. Wir haben die Abfrage „erstellen“ verwendet, um eine Tabelle zu erstellen. Die in diesem Schritt erstellte Tabelle lautet „Kunde.In der Abfrage von „Erstellen“ definieren wir die Namen der Spalten und deren Datentypen. Die Tabelle „Kunde“ verfügt über 6 Spalten (C_ID, Name, Stadt, gekauft_produkt, Preis und Kauf_date). Diese Attribute haben Datentypen, einschließlich ganzzahliger, text und numerischer.

Tischkunde erstellen (
C_ID Ganzzahl Primärschlüssel,
Nennen Sie Text,
Stadttext,
Gekauft_produkttext,
Preis numerisch,
Kauf_date numerisch
);

Die Abfrage von „Create“ wird erfolgreich ausgeführt.

Es ist jetzt Zeit, einen zweiten Tisch zu erstellen. Um eine Tabelle zu erstellen, haben wir die Abfrage „erstellen“ angewendet. "Lieferant" wäre die zweite Tabelle, die in dieser Phase erstellt wurde. Es gibt sechs verschiedene Einträge, einschließlich S_ID, Name, Stadt, gekauftes Produkt, Preis und Kaufdatum, in der Tabelle „Lieferanten“. Ganzzahl, Text und numerische Datentypen sind einige der für diese Elemente verfügbaren Datentypen.

Tabellenlieferant erstellen (
S_ID Ganzzahl Primärschlüssel,
Nennen Sie Text,
Stadttext,
Supplied_Product Text,
Preis numerisch,
Supply_Date Numeric
);

Die Ausgabe zeigt, dass die obige Abfrage ohne Fehler ausgeführt wurde.

Fügen Sie die Daten ein

Der nächste Schritt besteht darin, verschiedene Werte in den Spalten der Tabelle „Kunde“ hinzuzufügen.”

In den Kunden einfügen (C_ID, Name, Stadt, gekauft_produkt, Preis, Purchase_Date)
Werte (93, 'Shayan', 'Karachi', 'LED', '120000', '18/02/2022 '),
(76, 'Adeel', 'Islamabad', 'Waschmaschine', '90000', '04/12/2021 '),
(51, 'Nasir', 'Lahore', 'Mikrowelle', '25000', '12/01/2022 '),
(37, 'Mohsin', 'Karachi', 'Laptop', '150000', '23/02/2022 ');

Das Ergebnis zeigt an, dass die Abfrage zum Hinzufügen von Daten in die Tabelle „Kunden“ effektiv implementiert wurde.

Die Abfrage des Einsatzes wird verwendet, um den Inhalt in der Tabelle "Lieferanten" -Tabelle einzulegen. Wir haben die Werte der IDs, Namen, Städte, Produkte, Preise und Versorgungsdaten verschiedener Lieferanten in dieser Tabelle hinzugefügt.

In den Lieferanten einfügen (S_ID, Name, Stadt, Lieferung_Produkt, Preis, Supply_Date)
Werte (02, 'Rashid', 'Karachi', 'DSLR -Kamera', '160000', '18/01/2022 '),
(04, 'Adeel', 'Sargodha', 'Ofen', '80000', '30/12/2021 '),
(08, 'nabeel', 'peshawar', 'microwave', '30000', '15/08/2020 '),
(05, 'Waleed', 'Swat', 'Generator', '100000', '23/02/2022 ');

Die Daten werden erfolgreich in die Tabelle eingefügt, indem die obige Abfrage ausgeführt wird.

Verwenden Sie die Auswahl von Abfragen

Um den Inhalt aller Spalten der erforderlichen Tabelle abzurufen, müssen wir die Abfrage zusammen mit dem Symbol "*" verwenden. Wann immer wir die Daten einiger Spalten aus der Tabelle erhalten möchten, haben wir die Namen dieser Spalten in der Auswahlabfrage gegeben.

>> aus dem Kunden auswählen;

Die Ausgabe zeigt den gesamten Datensatz der vier verschiedenen Kunden.

In diesem Schritt haben wir die Auswahlabfrage für die Tabelle „Lieferant“ angewendet, damit wir die Daten aus dieser Tabelle abrufen können. Wir haben das * Symbol mit dem Auswahlbegriff in der Abfrage hinzugefügt, um die gesamten Daten zu holen.

>> aus dem Lieferanten auswählen;

Durch Ausführen der oben genannten Abfrage von SELECT rufen wir alle Werte der Tabelle „Lieferant" ab.”

Verwenden Sie die linke äußere Verbindung

Die linke Verbindung und die äußere Verbindung werden fast ähnlich funktioniert. Im linken äußeren Join würden hier alle Einträge der Spalten, die wir aus der zweiten Tabelle auswählen. Wenn die zweite Tabelle "n" -Einträge enthält, hätte die Abfrageausgabe auch "N" -Intribien. Die Daten der Spalten der ersten Tabelle hingegen haben einen Nullwert, ob ein Element die äußere Join -Anforderung nicht erfüllt hat.

Infolgedessen wäre der Rückgabewert im richtigen Join den Rückgabewerten in der linken Verbindung gleich. Daher können wir die entsprechenden Zeilen der beiden angegebenen Tabellen sowie die nicht passenden Einträge der zweiten Tabelle haben, wie in den vorhergehenden Ergebnissen gezeigt.

In diesem Beispiel werden wir zwei Tabellen „Kunde“ und „Lieferant“ zusammenführen, um zwei Tabellen zu verschmelzen: „Lieferant“:

WÄHLEN
Kunde.Name, Kunde.Preis,
Anbieter.Name, Lieferant.Preis
Vom Lieferanten
Links kommen Kunden auf dem Lieferanten bei.Stadt = Kunde.Stadt;

In diesem Fall wird die linke Verbindung zwischen den Tabellen „Kunde“ und „Lieferanten“ zuerst in einer Abfrage geschrieben, und das Join -Kriterium ist kurz nach der ON -Erklärung geschrieben. Die linke Tabelle (Lieferant) ist die erste Tabelle danach, die aus der Aussage. Die rechte Tabelle (Kunde) ist die zweite Tabelle, die weiter zur linken Seite bereitgestellt wird. Wir haben den Zustand der linken Verbindung auf der Spalte „Stadt“ beider Tabellen angewendet.

Die Abfrage wird erfolgreich ausgeführt und gibt die Daten zurück, wie in der Tabelle gezeigt.

Verwenden Sie Cross Outer Join

Durch den Vergleich aller Einträge der ersten Tabelle gibt ein Cross -Join die Datensätze in der Tabelle für die Werte, die diesen beiden verknüpften Tabellen zugewiesen wurden, mit allen Werten der zweiten Tabelle zurück.

Im Gegensatz zum Außenverbindungen des linken äußeren Geländes müssen wir keine Verbindungsanforderung mit Cross -Join definieren, da SQLite dies nicht erfordern würde. Durch das Zusammenführen aller Daten aus dem ersten Datensatz, „Kunde“, zusammen mit allen Einträgen aus der zweiten Tabelle, „Lieferant“, würde die Abfrage angemessene Ergebnisse erzielen.

WÄHLEN
Kunde.Name,
Anbieter.Name
Vom Kunden
Cross Join -Lieferant;

In dieser Situation haben wir lediglich zwei Attribute angegeben, „Name“ und „Preis“ sowohl aus den Tabellen "Kunden" als auch "Lieferanten" in der Auswahlabfrage. In der zweiten Tabelle wird „Lieferant“ als Parameter für die Cross -Join -Klausel bereitgestellt.

Wie wir gesehen haben, enthält die resultierende Tabelle vier Zeilen; Jede Zeile der Tabelle "Lieferanten" entspricht einem Datensatz in der Tabelle "Kunden". Hier stellen wir keine Verbindungsanforderungen in der Cross -Join -Klausel vor.

Verwenden Sie eine natürliche linke äußere Verbindung

Für die Datenbanktabelle verwendet der natürliche linke äußere Join alle übereinstimmenden Feldnamen.

Wir werden die natürliche linke äußere Join -Klausel verwenden, um einen Zustand auf dem Tabellenlieferant in diesem Szenario zu erfüllen. Das heißt. Wir werden hier keine Spalte bereitstellen; Stattdessen geben wir die Tabelle mit dem Namen „Lieferant“ an, nachdem wir die Join -Klausel verwendet haben.

Wählen Sie Kunde.Stadt, Kunde.Kaufdatum,
Anbieter.Stadt, Lieferant.Supply_Date
Vom Kunden
Außenanbieter -Lieferant;

Die vorhergehende Abfrage gibt das Ergebnis an, das die Daten (Stadt und Supply_Date) beider Spalten enthält.

Abschluss

In diesem Artikel haben wir die Details eines äußeren Anschlusss in SQLite -Abfrage besprochen. Dieser Artikel hat zahlreiche Arten der Außenverbindungsklausel gezeigt und wie man sie mit Hilfe mehrerer Fälle der Außenverbindungsklausel nutzt. Die Einträge aus der linken Tabelle würden durch eine linke äußere Verbindung aufrechterhalten. Die SQLite -Abfrage untersucht jede Zeile der Tabelle, prüft, ob die erforderlichen Erfüllung erfüllt sind, und ruft die passenden Felder ab. Es bietet Null für alle widersprüchlichen Zeilen.