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();