Предложение 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 на следующих примерах. Пусть имеется таблица «Расписание»:
предыдущаяследующая