7.1. Обзор#
7.1. Обзор #
Процесс извлечения или команда для извлечения данных из базы данных называется запросом. В SQL используется команда SELECT для указания запросов. Общий синтаксис команды SELECT следующий
[WITHwith_queries] SELECTselect_listFROMtable_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();