Создание вычисляемых полей
Конструкция SELECT кроме имен столбцов таблиц может также включать так называемые вычисляемые поля. В отличие от всех выбранных нами ранее столбцов, вычисляемых полей на самом деле в таблицах базы данных нет. Они создаются "на лету" SQL-оператором SELECT. Рассмотрим следующий пример.
SELECT IdCust AS 'Номер клиента', FName + ' ' +LName AS 'Фамилия и имя клиента'
FROM Customer
Здесь создается вычисляемое поле, которому с помощью ключевого слова AS дан псевдоним ‘Фамилия и имя клиента’. Оно позволяет объединить (произвести конкатенацию) с помощью оператора + фамилию, пробел и имя клиента в одно поле (столбец). Псевдоним может быть задан и для обычного столбца таблицы. В частности здесь столбцу IdCust задан псевдоним ‘Номер клиента’.
Еще одним способом использования вычисляемых полей является выполнение математических операций над выбранными данными. Рассмотрим пример.
SELECT IdProd, Qty, Price, Qty * Price AS 'Стоимость'
FROM OrdItem
WHERE IdOrd = 1
Здесь с помощью оператора умножения * вычисляется общая стоимость каждого товара в заказе с кодом 1 как произведение количества на цену.
Исключение дублирующих записей
Для исключения из результата выборки повторяющихся строк используется ключевое слово DISTINCT, которое указывается сразу после SELECT. В следующем примере осуществляется вывод всех фамилий клиентов. Даже если среди них есть однофамильцы, каждая фамилия будет выведена только один раз.
SELECT DISTINCT LName
FROM Customer
Задание для самостоятельной работы: Сформулируйте на языке SQL запросы на выборку следующих данных:
- Список всех заказов за определенный период времени (например, сентябрь 2010 года) отсортированный по дате заказа;
- Список всех товаров, названия которых включают слово ‘монитор’ с указанием их остатка на складе.