Субд лекции

Темы:

. Оператор SELECT

Предложение SELECT

Предложение SELECT оператора SELECT служит для указания полей, выводимых в результатную таблицу. Это могут быть поля исходных таблиц, вычисляемые поля или поля, содержащие константу. Имена полей, выводимых в ответ, разделяются между собой запятой.

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

SELECT * FROM Сотрудник;

Если в запросе используется несколько таблиц, то перед знаком (*) следует поместить имя таблицы, из которой будут выводиться все поля, отделенные от этого знака точкой:

SELECT ФИО, Семья.*

FROM Сотрудник INNER JOIN Семья

ONСотрудник.Код_сотрудника = Семья.Код_сотрудника;

В данном примере из таблицы «Семья» в ответ выводятся все поля, а из таблицы «Сотрудник» - только поле ФИО.

Поясним значение предикатов, используемых в качестве аргументов оператора SELECT.

Предикат ALL является значением по умолчанию. Если оператор SQL не содержит ни одного предиката, то считается, что используется предикат ALL. При этом в ответ выдаются все строки результатной таблицы, даже если они совпадают.

Приведенные ниже операторы (1) и (2) SQL эквивалентны; они возвращают все записи из таблицы «Сотрудники»:

1.     SELECT ALL*

FROM Сотрудники;

2.     SELECT *

FROM Сотрудники;

Предикат DISTINCT исключает из результатной таблицы повторяющиеся строки. Предикат DISTINCTROW опускает данные, основанные на целиком повторяющихся записях. Предикат DISTINCTROW влияет на результат только в случае, если в запрос включены не все поля анализируемых таблиц. Предикат DISTINCTROW игнорируется, если запрос содержит только одну таблицу или все поля всех таблиц.

Поясним разницу между DISTINCTROW и DISTINCT на следующих примерах. Пусть имеется таблица «Расписание»:

предыдущаяследующая