Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_01.doc
Скачиваний:
24
Добавлен:
10.04.2015
Размер:
101.38 Кб
Скачать

1.2. Форма оператора selecTдля простой выборки данных

Тривиальный запрос, возвращающий все данные (все столбцы и все записи) из одной таблицы, формулируется так:

SELECT *

FROM имяТаблицы;

Например, получим все сведения обо всех авторах:

SELECT *

FROM authors;

Может потребоваться выбрать не все столбцы таблицы, а только некоторые. Тогда SQL-запрос будет выглядеть так:

SELECT списокСтолбцов

FROM имяТаблицы;

Список столбцов – это перечень имен столбцов, разделенных запятой, как они определены в таблице, указанной в выражении FROM. Можно указать все или только некоторые столбцы в любом порядке. Возможно также указать один и тот же столбец несколько раз.

Например, получим фамилии и имена всех авторов:

SELECT last_name, first_name

FROM authors;

Сразу за оператором SELECT до списка столбцов можно применять ключевые слова ALL (все) и DISTINCT (отличающиеся), которые указывают, какие записи представить в результатной таблице. Если эти ключевые слова не используются, то подразумевается, что следует выбрать все записи, что также соответствует применению ключевого слова ALL. В случае использования DISTINCT в результатной таблице представляются только уникальные записи. При этом если в исходной таблице находятся несколько идентичных записей, то из них выбирается только первая.

Например, получим все имена, которые встречаются среди авторов:

SELECT DISTINCT first_name

FROM authors;

Существует и еще одна форма оператора DISTINCT с явным перечислением полей, проверяемых на наличие дубликатов. В этом случае за словом DISTINCT следует секция ON (списокСтолбцов).

Например, получим имена, которые встречаются среди авторов, с указанием одной из фамилий, соответствующих каждому имени:

SELECT DISTINCT ON (first_name)

first_name, last_name

FROM authors;

Заголовки столбцов в результатной таблице можно переопределить по своему усмотрению, назначив для них так называемые псевдонимы (синонимы). Для этого в списке столбцов после соответствующего столбца следует написать выражение вида:

AS заголовокСтолбца

Назначение синонима не влияет на исходное поле и действует лишь в контексте итогового набора, возвращаемого запросом.

Например,

SELECT last_name AS Фамилия, first_name AS Имя

FROM authors;

Псевдонимы также можно задать и для каждой таблицы после ключевого слова FROM. Для этого достаточно указать псевдоним через пробел сразу (или с использованием слова AS) после имени соответствующей таблицы. Псевдонимы таблиц, более короткие, чем их имена, удобно использовать в сложных запросах.

Например,

SELECT *

FROM authors a;

или

SELECT *

FROM authors As a;

В списке столбцов оператора SELECT могут быть не только простые поля, но и произвольные выражения (включающие вызовы функций или различные операции с идентификаторами) и константы.

Например, получим в одном столбце и фамилию, и имя автора, используя оператор конкатенации (слияния) строк:

SELECT last_name || ' ' || first_name AS name

FROM authors;

Команда SELECT также может использоваться для простого вычисления и вывода результатов выражений и констант. В этом случае она не содержит секции FROM.

Например,

SELECT 2+2 AS "2 plus 2",

pi() AS "the pi function",

'PostgreSQL is more than a calculator!' AS comment;

Перечень операторов и функций, доступных в СУБД PostgreSQL, см. в приложении (П.5. Операторы, П.6. Функции).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]