Tische erstellen:
Um den vollständigen Join zu verstehen, müssen PostgreSQL -Benutzer zwei Tabellen in ihrem System haben. Wir werden also zwei Tabellen erstellen und Datensätze einfügen. Öffnen Sie den Abfrageditor in der Postgres -Datenbank von Pgadmin. Erstens haben wir eine Tabelle mit dem Namen "WVEGs" mit dem Befehl create table im Abfrageditor erstellt. Diese Tabelle stellt die Aufzeichnungen für Gemüse dar, die in der Wintersaison produziert wurden. Die Tabelle enthält Spalten Wid und Wname. Die Einfügung in Anweisung wurde verwendet, um die Werte in beiden Spalten „WVEGs“ einzulegen. Das „Auslauf“ -Kon aus der Taskleiste von Pgadmin wurde verwendet.
Erstellen Sie Tabelle WVEGs (Wid Int Primärschlüssel, Wname varchar (250) nicht null);Die Erfolgsnachricht auf dem Ausgangsbildschirm zeigt, dass die Daten in der Tabelle ordnungsgemäß eingefügt wurden. Lassen Sie uns die Datensätze einer Tabelle "WVEGs" mit der Option "Daten anzeigen/bearbeiten" abrufen, indem Sie mit der rechten Maustaste auf die Tabelle klicken. Wir haben in dieser Tabelle zwei weitere Datensätze aus der Gitteransicht hinzugefügt. Die Abfrage zum Abrufen der Tabelle ist wie folgt angegeben:
Wählen Sie * aus der Öffentlichkeit.Wvegs Order von Wid ASC;Eine weitere Tabelle, SVEGS, wurde mit dem Befehl create table erstellt, um die in der Sommersaison produzierten Rekorde für Gemüse zu speichern. Der Einsatz in den Befehl wird hier verwendet, um Datensätze in diese Tabelle einzufügen. Beide Tabellen wurden erfolgreich erstellt, wie die Ausgabe zeigt.
Erstellen Sie Tabelle SVEGS (SID INT -Primärschlüssel, Sname varchar (250) nicht null);Die Tabelle "Svegs" mit ihrem eingefügten Datensatz kann mit der Option "Daten anzeigen/bearbeiten" abgerufen werden, indem Sie mit der rechten Maustaste auf die Tabelle "Svegs" klicken. Der Befehl „auswählen“ kann auch dafür verwendet werden, wie unten dargestellt.
Wählen Sie * aus der Öffentlichkeit.Svegs Order von Sid ASC;Beispiel 01: Einfacher volles Join
Beginnen wir mit der Implementierung von Full Join in unserem ersten Beispiel. Wir haben die Abfrage im Editor der PostgreSQL -GUI ausgewählt, um die Datensätze aus der Tabelle "Svegs" und "Wvegs" auszuwählen. Wir haben beide Spaltenaufzeichnungen der Tabelle in dieser Abfrage abgeholt, während wir den vollständigen Join -Zustand auf der Tabelle WVEGS angewendet haben. Alle Datensätze aus beiden Tabellen werden angezeigt, in denen die IDs der Tabelle "Svegs" und "Wvegs" gleich sind, e.G., 1 bis 5. Andererseits ersetzt Full Join Null, bei dem die ID von Svegs nicht mit der ID der "WVEGS" -Tabelle entspricht. Die Ausgabe der angegebenen vollständigen Join -Abfrage wurde im Snap gezeigt.
Wählen Sie SID, Sname, Wid, Wname aus SVEGS Full Join Wvegs auf SID = WID;Wenn Sie die vollständige Keyword -Klausel durch den vollständigen Join durch den vollen äußeren Join ersetzen möchten, können Sie dies auch in diesem Beispiel tun. Wir haben also die vollständige Verbindung durch die volles Außenanschluss in unserer Anfrage ersetzt, um die Ergebnisse zu sehen. Die verbleibende Anfrage war die gleiche wie angegeben darunter. Wir haben festgestellt, dass beide Anfragen gleich funktionieren, und der Ausgang ist ebenfalls ziemlich ähnlich. Der Ausgang wurde auch im Snap gezeigt.
Wählen Sie SID, Sname, Wid, Wname aus SVEGS Full Outer Join Wvegs auf SID = WID;Beispiel 02: Tabellenaliase mit Full Join
Das obige Beispiel hat gezeigt, wie der vollständige Join einfach perfekt funktioniert, um die Datensätze abzurufen. Jetzt werden wir uns die vollständige Verbindung ansehen, um Tabellenaliase in der PostgreSQL-Datenbank durchzuführen. Tabellenaliase sind die einfachste und leistungsstarke Technik, die in PostgreSQL und anderen Datenbanken verwendet wird, um die Tabellen zu geben, die im vollständigen Join verwendet werden sollen, einige einfachste Namen, um Unannehmlichkeiten bei der Verwendung schwieriger Tabellennamen zu vermeiden. Es ist der Ersatz des ursprünglichen Namens der Tabelle. Während der vollständige Join ähnlich funktioniert wie im obigen Beispiel. Wir haben also die gleiche Abfrage verwendet, wie im obigen Beispiel mit einem kleinen Update verwendet wird. Wir haben den Tabellen einige neue Namen als Aliase zugewiesen, e.G., S Und w. Die folgende Abfrage zeigt die gleiche Ausgabe.
Wählen Sie s.Sid, Sname, Wid, Wname von Svegs S voll zu wvegs w on s.Sid = w.Wid;Beispiel 03: Verwendung der Klausel, in der die Klausel verwendet wird
Wir werden die Where -Klausel innerhalb der Abfrage verwenden, die in diesem Beispiel einen vollständigen Join angewendet hat. Die Anweisung zeigt, dass die Abfrage alle Datensätze beider Tabellen abrufen muss, mit Ausnahme der Aufzeichnung eines Gemüsenamens „Gurke“. Die Ausgabe zeigt alle Daten an, aber das Gemüse fehlt aus beiden Tabellen mit ID "3" mit ID "3". Aus diesem Grund wurde das Gemüse -Blumenkohl aus der WVEGS -Tabelle auch aufgrund seiner ID „3“ ignoriert.
Wählen Sie SID, Sname, Wid, Wname aus SVEGS Full Join Wvegs auf SID = WID WHERE SNAME != 'Gurke';Beispiel 04:
Lassen Sie uns die Tabelle "Wvegs" ein wenig aktualisieren. Wir haben eine zusätzliche Spalte, "Sid", darin hinzugefügt. Wir haben einige Datensätze in einigen Zeilen der SID -Säule hinzugefügt, und einige wurden absichtlich leer gelassen. Die Tabelle wurde gespeichert, indem auf das Symbol Speichern aus der Taskleiste tippt.
Nach diesem Update haben wir den vollen äußeren Join in der SVEGS -Tabelle anstelle der WVEGS -Tabelle angewendet, wie wir es in den obigen Beispielen getan haben. Wir haben die Datensätze im Namen der SID -Spalte abgerufen,. Die Ausgabe zeigt alle Datensätze an, bei denen die IDs aus dem SID beider Tabellen übereinstimmen. Es zeigt NULL an, wobei die IDs in der Spalte SID in Tabelle SVEGS und WVEGS nicht ähnlich sind.
Wählen Sie Wid, Wname, Sname aus Wvegs W Full Outer Join Svegs S on S.Sid = w.Sid;Beispiel 05:
Verwenden wir die WO -Klausel innerhalb der oben genannten Abfrage, die im Beispiel verwendet wird. Der volle äußere Join wurde hier angewendet, um die Datenzeile aus beiden Tabellen abzurufen, in denen die WVEGS -Tabelle einen Nullwert in seiner Spalte WNAME enthält. Die Ausgabe des nachfolgenden Spaltenwerts einer anderen Tabelle, "Sname" im Gegensatz zur Nullspalte von WVEGs, Spalte "Wname" ist "Gurke", "Gurke".
Andererseits ist die Ausgabe der nachfolgenden Spaltenwerte einer anderen Tabelle "Wname" im Gegensatz zur Null -Spalte der Svegs -Spalte "Sname" "Karotte" und "rote Chili", und "rote Chili".
Abschluss:
Dieser Artikel enthält vollständige Join -Beispiele in PostgreSQL, um alle Daten unter bestimmten Bedingungen zu erfassen, die erfüllt sind. Die vollständige Join -Klausel kann sein Ziel erreichen, während sie innerhalb des Befehls ausgewählt wird. Das Konzept des vollständigen Join wird bei der Verwendung von Tabellenaliase und wo Klauseln leichter verwendet werden. Die Verwendung des vollständigen Zusammenhangs mit genannten Klauseln erleichtert unser Artikel leichter zu verstehen und für PostgreSQL -Benutzer zu implementieren.