7.1. Обзор

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

SELECT список_выборки FROM табличное_выражение [спецификация_сортировки]

Ниже подробно описываются список выборки, табличные выражения и спецификация сортировки.

Один из простых видов запроса имеет форму:

SELECT * FROM table1;

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

SELECT a, b + c FROM table1;

(Предполагается, что b и c имеют числовой тип данных). См. подробности в Section 7.3.

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

SELECT 3 * 4;

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

SELECT random();