Articles

PostgreSQL SELECT INTO

Podsumowanie: W tym poradniku dowiesz się jak używać instrukcji PostgreSQL SELECT INTO do tworzenia nowej tabeli z zestawu wyników zapytania.

Jeśli szukasz sposobu na wybieranie danych do zmiennych, sprawdź to w PL/pgSQL SELECT INTO statement.

Wprowadzenie do instrukcji PostgreSQL SELECT INTO

Konstrukcja PostgreSQL SELECT INTO tworzy nową tabelę i wstawia do niej dane zwrócone z zapytania.

Nowa tabela będzie posiadała kolumny o nazwach takich samych jak kolumny zbioru wyników zapytania. W przeciwieństwie do zwykłej instrukcji SELECT, instrukcja SELECT INTO nie zwraca wyniku do klienta.

Poniżej przedstawiono składnię instrukcji PostgreSQL SELECT INTO:

SELECT select_listINTO new_table_nameFROM table_nameWHERE search_condition;
Code language: SQL (Structured Query Language) (sql)

Aby utworzyć nową tabelę o strukturze i danych pochodzących z zestawu wyników, należy podać nazwę nowej tabeli po słowie kluczowym INTO.

Słowo kluczowe TEMP lub TEMPORARY jest opcjonalne; umożliwia utworzenie tabeli tymczasowej.

Słowo kluczowe UNLOGGED jeśli jest dostępne, spowoduje utworzenie nowej tabeli jako tabeli niezalogowanej.

Klauzula WHERE pozwala określić wiersze z oryginalnych tabel, które powinny zostać wstawione do nowej tabeli. Poza klauzulą WHERE, można użyć innych klauzul w instrukcji SELECT dla instrukcji SELECT INTO, takich jak INNER JOINLEFT JOINGROUP BY, oraz HAVING.

Należy pamiętać, że nie można użyć instrukcji SELECT INTO w PL/pgSQL, ponieważ interpretuje ona klauzulę INTO w inny sposób. W takim przypadku można użyć instrukcji CREATE TABLE AS, która zapewnia większą funkcjonalność niż instrukcja SELECT INTO.

PostgreSQL SELECT INTO przykłady

Do demonstracji wykorzystamy tabelę film z przykładowej bazy danych.

PostgreSQL SELECT INTO przykładowa tabela

Następująca instrukcja tworzy nową tabelę o nazwie o nazwie film_r która zawiera filmy o ratingu R i czasie wypożyczenia 5 dni z tabeli film.

SELECT film_id, title, rental_rateINTO TABLE film_rFROM filmWHERE rating = 'R'AND rental_duration = 5ORDER BY title;
Code language: SQL (Structured Query Language) (sql)

Aby zweryfikować tworzenie tabeli, można odpytać dane z tabeli film_r:

SELECT * FROM film_r;
Code language: SQL (Structured Query Language) (sql)

Poniższa instrukcja tworzy tymczasową tabelę o nazwie short_film zawierającą filmy, których długość nie przekracza 60 minut.

Code language: SQL (Structured Query Language) (sql)

Poniżej przedstawiono dane z tabeli short_film:

SELECT * FROM short_film;
Code language: SQL (Structured Query Language) (sql)

W tym tutorialu, dowiedziałeś się jak używać instrukcji PostgreSQL SELECT INTO do tworzenia nowej tabeli na podstawie zbioru wyników zapytania.

  • Czy ten tutorial był pomocny?
  • TakNie

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *