Документация по PostgreSQL 9.1.1 | ||||
---|---|---|---|---|
Prev | Fast Backward | Chapter 7. Запросы | Fast Forward | Next |
Процесс извлечения или команда извлечения данных из БД, называется запросом. В SQL для выполнения запроса используется команда SELECT. Команда SELECT имеет синтаксис:
[WITH с_запросами] SELECT список_выборки FROM табличное_выражение [спецификация_сортировки]
В следующих подразделах подробно описывается список выборки, табличное выражение и спецификация сортировки. Запросы с WITH обсуждаются в конце, так как они являются дополнительной возможностью SQL.
Простейший запрос выглядит так:
SELECT * FROM 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();