PostgreSQL SELECT INTO
Zusammenfassung: In diesem Tutorial lernen Sie, wie Sie das PostgreSQL SELECT INTO
Statement verwenden, um eine neue Tabelle aus der Ergebnismenge einer Abfrage zu erstellen.
Wenn Sie auf der Suche nach einer Möglichkeit sind, Daten in Variablen auszuwählen, sollten Sie sich die PL/pgSQL SELECT INTO
-Anweisung ansehen.
Einführung in die PostgreSQL SELECT INTO-Anweisung
Die PostgreSQL SELECT INTO
-Anweisung erstellt eine neue Tabelle und fügt Daten, die von einer Abfrage zurückgegeben werden, in die Tabelle ein.
Die neue Tabelle hat Spalten mit den gleichen Namen wie die Spalten der Ergebnismenge der Abfrage. Im Gegensatz zu einer regulären SELECT
-Anweisung gibt die SELECT INTO
-Anweisung kein Ergebnis an den Client zurück.
Im Folgenden wird die Syntax der PostgreSQL-Anweisung SELECT INTO
veranschaulicht:
Code language: SQL (Structured Query Language) (sql)SELECT select_listINTO new_table_nameFROM table_nameWHERE search_condition;
Um eine neue Tabelle mit der Struktur und den Daten aus einer Ergebnismenge zu erstellen, geben Sie den Namen der neuen Tabelle nach dem Schlüsselwort INTO
an.
Das TEMP
oder TEMPORARY
-Schlüsselwort ist optional; es ermöglicht Ihnen, stattdessen eine temporäre Tabelle zu erstellen.
Das UNLOGGED
-Schlüsselwort, falls vorhanden, erstellt die neue Tabelle als nicht protokollierte Tabelle.
Mit der WHERE
-Klausel können Sie die Zeilen aus den ursprünglichen Tabellen angeben, die in die neue Tabelle eingefügt werden sollen. Neben der WHERE
-Klausel können Sie auch andere Klauseln in der SELECT
-Anweisung verwenden, wie zum Beispiel INNER JOIN
LEFT JOIN
GROUP BY
, und HAVING
.
Beachten Sie, dass Sie die Anweisung SELECT INTO
in PL/pgSQL nicht verwenden können, da diese die INTO
-Klausel anders interpretiert. In diesem Fall können Sie die CREATE TABLE AS
-Anweisung verwenden, die mehr Funktionalität bietet als die SELECT INTO
-Anweisung.
PostgreSQL SELECT INTO Beispiele
Zur Demonstration verwenden wir die film
-Tabelle aus der Beispieldatenbank.
Die folgende Anweisung erstellt eine neue Tabelle namens film_r
, die Filme mit der Bewertung R
und der Verleihdauer 5 Tage aus der Tabelle film
enthält.
Code language: SQL (Structured Query Language) (sql)SELECT film_id, title, rental_rateINTO TABLE film_rFROM filmWHERE rating = 'R'AND rental_duration = 5ORDER BY title;
Um die Erstellung der Tabelle zu überprüfen, können Sie Daten aus der Tabelle film_r
abfragen:
Code language: SQL (Structured Query Language) (sql)SELECT * FROM film_r;
Die folgende Anweisung erstellt eine temporäre Tabelle mit dem Namen short_film
, die die Filme enthält, deren Länge unter 60 Minuten liegt.
Code language: SQL (Structured Query Language) (sql)
Das Folgende zeigt die Daten aus der Tabelle short_film
:
Code language: SQL (Structured Query Language) (sql)SELECT * FROM short_film;
In diesem Lernprogramm, haben Sie gelernt, wie Sie die PostgreSQL SELECT INTO
-Anweisung verwenden, um eine neue Tabelle aus der Ergebnismenge einer Abfrage zu erstellen.
- War dieses Tutorial hilfreich?
- JaNein