Postgresql інструкція select - sql програмування

Платформа PostgreSQL підтримує просту реалізацію інструкції SELECT. Підтримуються пропозиції JOIN і підзапити. У PostgreSQL також можна створювати нові тимчасові або постійні таблиці з використанням синтаксису SELECT INTO.

[ALL 'DISTINCT [ON (отбіраемий_елемент [...])]]

Підтримуються ключові слова ALL і DISTINCT стандарту ANSI SQL, де ALL (задано за замовчуванням) повертає всі рядки (включаючи дублюються), a DISTINCT видаляє дубльовані рядки. Крім того, пропозиція DISTINCT ON видаляє дублікати тільки в одному із зазначених відбираються елементів, а не у всіх відбираються елементах запиту.

Включає всі стандартні елементи списку відбираються елементів, прийнятого стандартом ANSI SQL. Крім узагальнюючого символу * (зірочка) ви можете використовувати конструкцію ім'я_таблиці *, щоб отримати всі рядки з окремої таблиці.

[AS псевдонім [(список псевдонімів)]

Створюється псевдонім або список псевдопімов для одного або декількох стовпців (або таблиць в реченні FROM). Пропозиція AS є необхідним для створення псевдонімів відбираються елементів, але не для псевдонімів в реченні FROM. (Деякі інші платформи вважають пропозиції AS необов'язковими.)

INTO [[TEMP] ORARY] [TABLE] імя_новой_табліци

З результуючого набору запиту створюється нова таблиця. Для створення тимчасових таблиць, які автоматично видаляються після закінчення сеансу, допустимим є синтаксис TEMP або TEMPORARY. В іншому випадку команда створює постійну таблицю. Постійні таблиці, створені за допомогою цієї інструкції, повинні мати нові, унікальні імена, а тимчасові таблиці можуть мати ті ж імена, що й уже існуючі таблиці. Якщо ви створюєте тимчасову таблицю, ім'я якої збігається з ім'ям існуючої постійної таблиці, то тимчасова таблиця використовується для всіх операцій, пов'язаних з цим ім'ям, які проводяться в даному сеансі. Інші сеанси будуть як і раніше бачити існуючу постійну таблицю.

Вказується одна або кілька таблиць-джерел, в яких знаходяться дані. (Обов'язково вкажіть умова з'єднання або умова WHERE для тета-з'єднання, щоб не отримати повний координатний продукт для всіх записів в усіх таблицях.) PostgreSQL дозволяє використовувати в таблицях-нащадках успадкування з батьківських таблиць. Ключове слово ONLY використовується для того, щоб дані не витягали з таблиць-нащадків вихідної таблиці. (Ви можете відключити таке спадкування на глобальному рівні командою SET SQL Inheritance ТО OFF) Платформа PostgreSQL також підтримує вкладені табличні підзапити. Пропозиція FROM не є необхідним при використанні обчислень.

Платформа PostgreSQL також може включати в інструкції SELECT неявні пропозиції FROM при використанні стовпців із зазначенням схеми. Наприклад, наступний стовпець є допустимим (хоча так робити і не рекомендується).

Дозволяє вказати вираз для угруповання, яке може являти собою ім'я стовпця або його порядковий номер (який вказує на його положення в списку відбираються елементів). Приклад, який ілюструє цю концепцію, наводиться трохи нижче, в розділі, присвяченому пропозицією ORDER BY.

ORDER BY вираженіе_для_сортіровкі

Дозволяє вказати вираз для сортування, яке може являти собою ім'я стовпця, його псевдонім або порядковий номер стовпчика (який вказує на його положення в списку відбираються елементів). Наприклад, такі два запити функціонально ідентичні.

В інструкціях SELECT, що звертаються до однієї таблиці, ви можете проводити сортування по стовпцях, що не входять в список відбираються елементів. наприклад:

Пропозиції ASC і DESC відповідають стандарту ANSI. За замовчуванням приймається пропозиція ASC. Платформа PostgreSQL вважає, що порожні значення більше за всіх інших, тому вони розташовуються в кінці при сортуванні по зростанню (ASC) і на початку - під час перекладання з зменшенням (DESC). FOR UPDATE OF стовпець [...] LIMIT

PostgreSQL підтримує зручний варіант пропозиції DISTINCT - DISTINCT ON (отбіраемий_елеме /// я [...]). Цей варіант дозволяє вибрати, в яких стовпчиках буде використовуватися видалення дублікатів. Платформа PostgreSQL вибирає результуючий набір багато в чому так само, як для пропозиції ORDER BY. Вам слід вказати пропозицію ORDER BY, щоб не було непередбачуваності при виборі записів. наприклад:

Наведений вище запит витягує останній звіт про продажі для кожного магазину (storid) на основі дати самого останнього замовлення (ord_date). Однак без пропозиції ORDER BY неможливо буде передбачити, яка запис буде видалено.

Платформа PostgreSQL підтримує тільки наступні типи синтаксису пропозиції JOIN (за детальною інформацією звертайтесь до розділу «Пропозиція JOIN»).

Додаткова інформація по темі

Деякі правила і методи використання інструкції SELECT в базах даних на платформі SQL Server

Схожі статті