Postgres, wo in Array

Postgres, wo in Array
Wenn Sie mit objektorientierten Sprachen vertraut sind, haben Sie möglicherweise ein sehr bekanntes Konzept von Arrays gehört. Arrays sind die Datenstrukturen, die denselben Art von Elementen oder Elementen an übertragbaren Speicherorten zusammenstellen. Um die Werte von einem bestimmten Speicherort eines Arrays zu erhalten, müssen wir einige Bedingungen in unserem Code verwenden. Die PostgreSQL -Datenbank ermöglicht auch Arrays als Daten in den Tabellen,. Das Erhalten von Werten aus den Arrays in PostgreSQL bietet uns die Klausel „WO“ zu Abfragen von Daten. Wenn Sie nach einem Leitfaden suchen, um zu erfahren, wie Sie Daten von Arrays mithilfe der WHERE -Klausel abfragen, ist diese Anleitung für Sie bestimmt.

Beispiel 01:

Bevor Sie die WO-Klausel verwenden, um die Daten aus einem Array abzufragen oder abzurufen. Dafür müssen wir zuerst eine Tabelle in unserer Datenbank erstellen. Öffnen Sie also das Abfragetool von PostgreSQL Pgadmin, indem Sie auf das Symbol des Abfragetools tippen. Verwenden Sie den im Bild unten gezeigten Befehl create table, um eine neue leere Tabelle mit dem Namen "Test" in der Datenbank mit drei Spalten zu generieren. Die Spalten -ID des Typs "Int", der Name "Text" und die Spaltenmarkierungen vom Ganzzahl -Typ -Array enthält. Bei der Ausführung dieses Befehls mit dem Symbol "Ausführen" aus der Taskleiste wurde die Tabelle gemäß der Erfolgsnachricht erstellt.

Um Array -Daten mit der Where -Klausel abzufragen, müssen wir einige Daten in einer Array -Spalte haben. Daher haben wir den Einfügen in Anweisungen verwendet, um Daten in allen drei Spalten der Tabelle „Test“ hinzuzufügen. Um Daten in einer Array -Spalte „Markierungen“ hinzuzufügen, müssen wir das Keyword -Array mit Daten in den quadratischen Klammern wie angezeigt verwenden. Wir haben insgesamt 5 Datensätze in dieser Tabelle gleichzeitig mit dem Symbol „Ausführen“ aus der obigen Taskleiste eingefügt. Datensätze wurden erfolgreich eingefügt.

Lassen Sie uns die Anweisung von PostgreSQL mit dem Zeichen "*" ausführen, um alle Datensätze aus der Tabelle "Test" abzurufen. Beim Ausführen der Abfrage auswählen haben wir alle drei Spalten mit allen 5 Datensätzen erhalten. Sie können sehen, dass die Spalte „Markierungen“ die Integer -Daten des Array -Typs enthält.

Bevor Sie die WHERE -Klausel in der Abfrage auswählen. Wir haben also den Anweisungen ausgewählt, um ID-, Name- und Index -2 -Werte aus der Spalte „Markierungen“ aus einer Tabelle „Test“ abzurufen. Wir müssen den Index in den Quadratklammern zusammen mit dem Namen einer Spalte angeben, i.e. Markierungen [2]. Wir haben das untergeklagte Ergebnis bei der Ausführung dieses Befehls über die Schaltfläche "Ausführen". Sie können sehen, dass alle Datensätze aus der Spalte ID und Name angezeigt wurden. Andererseits wurde die Spalte „Markierungen“ mit den einzigen Datensätzen an ihrem zweiten Ort oder Index 2 in der Tabelle „Test“ angezeigt.

Verwenden wir die Where -Klausel in unserer Abfrage, um bestimmte Datensätze aus der Tabelle "Test" abzurufen. Wir verwenden also die Anweisung im Abfragetool aus, um die einzigen Datensätze für ID, Name und Markierungen bei Index 2 aus dem Tabellentest abzurufen. Die WHERE -Klausel wurde als Bedingung verwendet, um die Datensätze aus der Spalte „Markierungen“ zu überprüfen, in der der Index 2 einen Wert von 40 oder mehr als 40 hat. Nachdem wir diese Anweisung ausgeführt haben, haben wir nur 2 Datensätze aus der Tabelle „Test“, in der der Wert in Index 2 der Spalte „Marks“ einen Wert von 40 oder mehr hat, wie im folgenden Bild angezeigt wird.

Um alle Datensätze aus der Tabelle mit dem gleichen Bedingung auszuwählen, müssen wir das Zeichen „*“ in der Anweisung auswählen. In diesem Befehl werden alle drei Elemente aus einem einzigen Array für beide 2 Datensätze des Tabellentests angezeigt.

Beispiel 02:

Schauen wir uns ein weiteres Beispiel von PostgreSQL an, um die Where -Klausel zum Abholen bestimmter Datensätze an verschiedenen Orten zu verwenden. Dazu müssen wir eine neue Tabelle mit dem Namen "neu" erstellen, in der die Anweisung "Tabelle erstellen" im Abfrage -Tool mit dem Symbol "Ausführen" ausführt. Wir haben insgesamt 3 Spalten hinzugefügt. Die erste Spalte, "ID", hat einen einfachen Ganzzahl-Typ, die zweite Spalte "Name" vom Texttyp-Array und die letzte Spalte "Gehalt" aus 2-dimensionaler Ganzzahl-Array-Typ. Nach seiner Ausführung wurde die Tabelle erfolgreich erstellt.

Fügen wir einige Datensätze in die neu generierte Tabelle „Neu“ ein, die derzeit leer ist. Dazu müssen wir den Einfügen in den Anweisungen innerhalb des Abfragetools verwenden, um Werte in der Spalte ID, Name und Gehalt hinzuzufügen. Sie können das sehen, um Werte in der Spalte hinzuzufügen
"Name" des Array -Typs, wir müssen den einzelnen invertierten Befehl und die lockigen Klammern verwenden, um die Werte von String -Typen zu halten. Um Datensätze in der 2-dimensionalen Array-Spalte „Gehalt“ hinzuzufügen, mussten wir die einzelnen invertierten Kommas um die lockigen Klammern verwenden. Während wir in den lockigen Klammern zwei weitere Paare oder Curly -Klammern verwenden müssen, um Datensätze hinzuzufügen. Wir haben insgesamt 5 Datensätze hinzugefügt.

Sehen wir uns alle Datensätze für die Tabelle „Neu“ an, indem Sie den Anweisungen im Abfragebereich mit dem Zeichen "*" auswählen. Wir haben die Tabelle "neu" in voller Form wie unten.

Lassen Sie uns die Datensätze aus der Spalte Typ "Array Type" mit der WHERE -Klausel "neu" abrufen. Wir haben uns also entschlossen, alle Datensätze aus dieser Tabelle abzurufen, in der der Index „2“ der Spalte „Name“ keinen Wert hat, ich.e. '"' ''.Um dies zu erhalten, müssen wir den Index 2 in quadratischen Klammern zusammen mit dem Namen einer Spalte „Name“ verwenden, wobei die Where -Klausel verwendet wird. Die Anweisung wurde im Bild gezeigt. Nachdem wir es ausgeführt haben, haben wir nur 2 Datensätze für diesen Zustand.

Hier ging es darum, die WHERE-Klausel in einer 1-dimensionalen Array-Spalte zu verwenden, um Datensätze abzurufen. Verwenden wir die WHERE-Klausel auf der 2-dimensionalen Array-Spalte, ich.e. Gehalt. Wir haben uns also entschlossen, alle Tabellen "Neue" Datensätze mit dem Zeichen "*" zu holen und anzuzeigen. Wir haben die Bedingung verwendet, um nur die Tabellenzeilen zu erhalten, für die der Index 2 von Dimension 1, ich.e. [1] [2] Für Spalte „Gehalt“ hat ein Wert von mehr als 15000. Bei der Ausführung dieser Abfrage haben wir 3 Datensätze mit der Gehaltsspalte 1. Dimension haben einen Wert von mehr als 15000 unter Index 2.

Nehmen wir eine weitere Abbildung, um die WHERE -Klausel über Spalte „Gehalt“ oder Array -Typ zu verwenden. Dieses Mal werden wir den Zustand in der zweiten Dimension des Spalte „Gehalts“ und des jeweiligen zweiten Index anwenden, i.e. [2] [2]. Dieses Mal haben wir nur 2 Datensätze für das Spalte „Gehalt“, in dem Index 2 seiner zweiten Dimension einen Wert von weniger als 27000 hat.

Abschluss:

Hier ging es also um die Verwendung der WHERE-Klausel in der PostgreSQL-Tabelle, um Datensätze gemäß den Spaltenwerten vom Array-Typ abzurufen. Wir haben zwei Arten von einem Array besprochen, um die Klausel auf ihnen zu verwenden, ich.e. 1 dimensional und zweidimensional. Alle Datensätze wurden unter Verwendung der Indexierung von Arrays abgerufen.