Links Join Postgresql

Links Join Postgresql
PostgreSQL Join ist eine Funktion, mit der Sie Spalten aus einer Tabelle mit einem oder mehreren Tabellen basieren, die auf den gemeinsamen Spalten zwischen den zugehörigen Tabellen basieren. Es gibt viele Arten von Verbindungen, wie beispielsweise Inner -Join, Outer -Join, Cross Join und Self Jung. In diesem Artikel wird die linke Verbindung in zwei Typen definiert:
  • Linke äußere Verbindung
  • Links innere Verbindung

Wir werden jeden Typ mit spezifischen Beispielen erläutern.

Syntax

Wählen Sie Tabelle_a.Columna, Table_a.columnb, table_b.Columna
Aus table_a
Links join table_b
Auf table_a.MAPING_COLUMN = TABLE_B.Matching_Column;

Table_a impliziert die erste Tabelle, und Table_b impliziert die zweite Tabelle. Der Matching_Column ist die Spalte, die in beiden Tabellen vorhanden ist.

  • Die Syntax zeigt, dass wir zwei Tabellen angeben müssen, indem wir die Auswahlanweisung verwenden müssen.
  • Zweitens zeigen wir den Haupttisch.
  • Drittens erwähnen wir die Tabelle und die Haupttabelle hat eine Verbindung mitgebildet.

Um das Verständnis des linken Join zu erreichen, müssen wir zwei Tabellen in PostgreSQL erstellen. Beide Tabellen werden mit dem Befehl „Tabelle erstellen“ erstellt. Die Beispielaussage ist unten angegeben. Lassen Sie den Tabellenelement "Element" nennen:

>> Tabellenelemente erstellen (ID Integer, Name Varchar (10), Kategorie varchar (10), Order_no Integer, Adress varchar (10), expire_month varchar (10));

Fügen Sie nun die Werte in der Tabelle mit "Anweisung einfügen" hinzu:

>> In Elementswerte einfügen (1, "Puppe", "Spielzeug", 4, "Adresse");

Mit diesem Befehl werden die Werte in einer einzelnen Zeile der Tabelle eingegeben.

Wenn wir zum Beispiel zurückkehren, haben wir hier zwei Tische, einer ist „Elemente“ und der andere ist „Bestellungen“. Sie können den Inhalt der Tabellen mit dem Befehl „Auswählen“ sehen:

Tabelle 1-Items:

Tabelle 2-Order:

Beispiel 1:
Betrachten Sie beide Tabellen. Diese Tabellen werden so erstellt, dass eine Spalte eine Verbindung zwischen diesen beiden Tabellen bildet. Zum Beispiel spielt Order_no die Aufgabe, den Link festzulegen. Der folgende Befehl verwendet die Klausel eines linken Join, um die Tabelle "Elemente" mit "Bestellungen" anzuschließen:

>> Elemente auswählen.ID, Name, Order_id aus Elementen gelassene Join -Bestellungen auf Bestellungen.order_id = items.order_no bestellen nach Namen;

Hier erhalten wir die resultierende Tabelle, während wir "ID" und "Name" aus der Element -Tabelle und der Order_no aus der Bestellentabelle ausgewählt haben, sodass diese drei Spalten angezeigt werden. Wenn eine Zeile aus der Tabelle der Elemente keine übereinstimmende Zeile mit der Bestellentabelle hat, ist die Werte der Spalte Order_id dieser Zeile null.

Beispiel 2:
Dieses Beispiel ähnelt dem vorherigen, unterscheidet sich jedoch darin, eine "wo". Dies hilft bei der Suche nach den Bestellungen, die in der Bestellentabelle nicht vorhanden sind. Dies wird erreicht, indem eine zusätzliche Anweisung verwendet wird, die die Spalte leer zeigt, indem die Werte mit Space verglichen werden. Wenn kein Wert vorhanden ist, wählen Sie die ID und den Namen aus. Dieses Beispiel bezieht sich auf die äußere linke Verbindung. Das Outer Links -Join ist derjenige, in dem alle Elemente während der resultierenden Wert nach Anwendung von Einschränkungen zu einer einzelnen Tabelle gehören (linke Tabelle). Wenn ein einzelnes Element übereinstimmt, ist das Ergebnis weit entfernt von der äußeren linken Verbindung:

>> Elemente auswählen.ID, Elemente. Name, order_id von Elementen, die bei Bestellungen verbunden sind.order_id = items.Order_no wo Bestellungen. id ist null order mit Namen;

Das Bild zeigt, dass sich alle sechs Zeilen in der Tabelle „Elemente“ von der Tabelle „Bestellungen“ unterscheiden. Oder "Bestellungen" -Tabelle enthält diese Werte nicht. Deshalb ist die ganze Spalte leer.

Beispiel 3:
Dieses Beispiel zeigt die Verbindung zwischen zwei Tabellen direkt. Wie in der Anweisung auswählen, nehmen wir zwei Spalten aus Tabellenelementen und einer Spalte aus den Tabellenbestellungen. Für dieses Konzept müssen wir jedoch den Spaltennamen mit dem Tabellennamen durch die „Dot-Methode“ erwähnen, die die Spalte einer bestimmten Tabelle angibt. Dies ist ein Beispiel für das innere linke Join, da einige Teile der beiden Tabellen in der resultierenden Tabelle vorhanden sind:

>> Wählen Sie Name, Kategorie, Bestellungen.Adresse von Elementen, die zu Bestellungen gelangen.order_id = items.Best.-Nr,

Daher ist die resultierende Tabelle die Kombination von Spalten aus beiden Tabellen. Die Adressspalte enthält nur die Adresse der Tabelle „Bestellungen“, die mit der Adresse der Tabelle „Elemente“ übereinstimmt.

In ähnlicher Weise macht es einen Unterschied, wenn wir die Aussage „Dot-Methoden“ ändern. In diesem Beispiel haben wir „Bestellungen“ ersetzt.Adresse ”mit der Adressspalte in der Element -Tabelle„ Elemente Elemente.Adresse":

>> Wählen Sie Name, Kategorie, Elemente.Adresse von Elementen, die zu Bestellungen gelangen.order_id = items.Best.-Nr,

Jetzt können Sie feststellen, dass in der Adressspalte alle Zeilen mit Daten in der Tabelle „Elemente“ gefüllt sind.

Beispiel 4:
Hier werden mehr als zwei Spalten aus jeder Tabelle ausgewählt. Manchmal müssen wir Redundanz reduzieren, um die Duplizität von Daten zu vermeiden, während zwei Tabellen kombiniert werden. Dies kann nur durchgeführt werden, indem Einschränkungen für mehr als eine Spalte verwendet werden, um präzise und wertvolle Daten abzurufen, die in beiden Tabellen zusammen sind. In diesem Beispiel möchten wir also den Namen, die Adresse und den Order_no anzeigen, die nur in der Tabelle der Elemente vorhanden sind und nicht in der Tabelle „Bestellungen“:

>> Wählen Sie Name, Bestellungen_no, order_id, Elemente.Adresse von Elementen, die zu Bestellungen gelangen.order_id = items.order_no wo Bestellungen null sind;

Um die gesamte Spalte frei zu bekommen, haben wir die Einschränkung von Null angewendet. In diesem Beispiel haben wir die Adresse mit der Element -Tabelle erneut angegeben, um die Diskriminierung mit der Adressspalte zu ermöglichen. Im kommenden Beispiel haben wir die Adresse jedoch durch die Tabelle "Bestellungen" durch "Order_day" ersetzt. Nach dem Austausch der Spalte sind sowohl die Order_ID als auch der Order_day freie Spalten in der resultierenden Tabelle:

>> Wählen Sie Name, Bestellungen_no, Order_id, Bestellungen ordnungsday aus Elementen, die bei Bestellungen verbunden sind.order_id = items.order_no wo Bestellungen null sind;

Wir haben nur erwähnt, dass Order_id null ist. Aber warum ist der "order_day" leer?

Es ist ein offensichtlicher Faktor, dass, wenn wir nur die Reihen von Bestellungen gewählt haben, die in der Tabelle „Bestellungen“ nicht vorhanden sind.

Implementierung über pgadmin

Um die Befehle auf der Pgadmin -Seite zu implementieren, müssen Sie das Passwort am Anfang angeben. Navigieren Sie nun zur linken Bar. Sie erfahren etwas über die Datenbanken auf dem Server. Erweitern Sie die Postgres -Datenbank, da wir hier unsere Abfragen implementiert haben. Nach der Erweiterung erhalten Sie die Kataloge, einschließlich Tabellendaten:

Klicken Sie nun mit der rechten Maustaste auf die Tabelle und wählen Sie das Abfrage-Tool aus:

Wir nehmen dasselbe Beispiel wie oben beschrieben, um den verwendeten Pgadmin zu erstellen. Schreiben Sie die folgende Abfrage in den SNAP und in den Teil des Abfrageditors. Um den Befehl auszuführen, wechseln Sie zur oben genannten Navigations -Symbolleiste. Hier ist das Symbol wie das Symbol des Spiels in der Musik. Wählen Sie dies aus, und die Abfrage wird ausgeführt. Es wird in der Datenausgabe angezeigt:

Abschluss

Der Postgresql -Join kombiniert Spalten aus verschiedenen Tabellen mit ähnlichen Spalten. Insbesondere kombiniert die linke Verbindung den Tisch auf der linken Seite. Dies bedeutet, dass die richtige Tabelle zuerst im Befehl und dann der andere erwähnt wird. Alle Bedingungen werden auf der linken Verbindung entweder in der inneren Verbindung oder im Außenverbindungsfall angewendet. Wir hoffen, dass Sie diesen Artikel hilfreich für die Verwendung des linken Join PostgreSQL. Bitte besuchen Sie die anderen Artikel, um weitere Informationen zu erhalten.