7.1. Обзор#

7.1. Обзор

7.1. Обзор #

Процесс извлечения или команда для извлечения данных из базы данных называется запросом. В SQL используется команда SELECT для указания запросов. Общий синтаксис команды SELECT следующий

[WITH with_queries] SELECT select_list FROM table_expression [sort_specification]

В следующих разделах описываются список выборки, табличные выражения и определение сортировки. Запросы WITH рассматриваются в последнюю очередь, так как они являются продвинутой функцией.

Простой вид запроса имеет следующую форму:

SELECT * FROM table1;

Предполагая, что существует таблица с именем table1, эта команда извлечет все строки и все пользовательские столбцы из table1. (Метод извлечения зависит от клиентского приложения. Например, программа psql будет отображать ASCII-таблицу в на экране, а клиентские библиотеки предоставят функции для извлечения отдельных значений из результата запроса). При указании * в списке выборки возвращаются все столбцы, которые предоставляет выражение таблицы. Выборка также может выбирать подмножество доступных столбцов или выполнять вычисления с столбцами. Например, если в table1 есть столбцы с именами a, b и c (и, возможно, другие), можно выполнить следующий запрос:

SELECT a, b + c FROM table1;

(приняв, что b и c имеют числовой тип данных). См. Раздел 7.3 для получения более подробной информации.

FROM table1 - это простой вид табличного выражения: он читает только одну таблицу. Обычно, табличные выражения могут быть сложными конструкциями из базовых таблиц, соединений и подзапросов. Но вы также можете полностью опустить табличное выражение и использовать команду SELECT в качестве калькулятора:

SELECT 3 * 4;

Это более полезно, если выражения в выборке возвращают меняющиеся результаты. Например, можно вызвать функцию таким образом:

SELECT random();