Select into
Ushbu qo'llanmada siz so'rov natijalari to'plamidan yangi jadval yaratish uchun PostgreSQL SELECT INTO bayonotidan qanday foydalanishni o'rganasiz.
Agar siz ma'lumotlarni o'zgaruvchilarga tanlash usulini izlayotgan bo'lsangiz, uni PL/pgSQL SELECT INTO bayonotiga qarang.
PostgreSQL SELECT INTO bayonoti yangi jadval yaratadi va so'rovdan qaytarilgan ma'lumotlarni jadvalga kiritadi.
Yangi jadvalda so'rov natijalari to'plamining ustunlari bilan bir xil nomlarga ega ustunlar bo'ladi. Oddiy SELECT bayonotidan farqli o'laroq, SELECT INTO bayonoti mijozga natijani qaytarmaydi.
Quyida PostgreSQL SELECT INTO bayonotining sintaksisi tasvirlangan:
SELECT
select_list
INTO [ TEMPORARY | TEMP | UNLOGGED ] [ TABLE ] new_table_name
FROM
table_name
WHERE
search_condition;Natijalar to'plamidan olingan struktura va ma'lumotlar bilan yangi jadval yaratish uchun siz INTO kalit so'zidan keyin yangi jadval nomini ko'rsatasiz.
TEMP yoki TEMPORARY kalit so'zi ixtiyoriy; o'rniga vaqtinchalik jadval yaratish imkonini beradi.
Agar mavjud bo'lsa, UNLOGGED kalit so'zi yangi jadvalni o'chirilgan jadvalga aylantiradi.
WHERE bandi asl jadvallardan yangi jadvalga kiritilishi kerak bo'lgan qatorlarni belgilash imkonini beradi. WHERE bandidan tashqari siz SELECT INTO iborasi uchun SELECT iborasida INNER JOIN, LEFT JOIN, GROUP BY va HAVING kabi boshqa bandlardan ham foydalanishingiz mumkin.
PL/pgSQL da SELECT INTO iborasidan foydalana olmaysiz, chunki u INTO bandini boshqacha izohlaydi. Bunday holda siz SELECT INTO iborasidan koʻra koʻproq funksionallikni taʼminlovchi CREATE TABLE AS iborasidan foydalanishingiz mumkin.
PostgreSQL SELECT INTO misollar
Namoyish uchun biz namunaviy ma'lumotlar bazasidagi film jadvalidan foydalanamiz.

Quyidagi bayonot film_r deb nomlangan yangi jadvalni yaratadi, unda film jadvalidan 5 kunlik ijara muddati va R reytingiga ega filmlar mavjud.
SELECT
film_id,
title,
rental_rate
INTO TABLE film_r
FROM
film
WHERE
rating = 'R'
AND rental_duration = 5
ORDER BY
title;Jadval yaratilishini tekshirish uchun film_r jadvalidan ma'lumotlarni so'rashingiz mumkin:
SELECT * FROM film_r;
Quyidagi bayonot uzunligi 60 daqiqadan kam bo'lgan filmlarni o'z ichiga olgan short_film nomli vaqtinchalik jadvalni yaratadi.
SELECT
film_id,
title,
length
INTO TEMP TABLE short_film
FROM
film
WHERE
length < 60
ORDER BY
title;Quyida short_film jadvalidagi ma'lumotlar ko'rsatilgan:
SELECT * FROM short_film;
Ushbu qo'llanmada siz so'rov natijalari to'plamidan yangi jadval yaratish uchun PostgreSQL SELECT INTO bayonotidan qanday foydalanishni o'rgandingiz.
Last updated
Was this helpful?