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