Баннер
Баннер

Использование SQL Запросов - Использование вычисляемых полей

Оглавление
Использование SQL Запросов
Использование вычисляемых полей
Примеры
Все страницы

Использование вычисляемых полей

На основании данных таблицы «Продажи» вычислите для каждого товара сумму денег, получен­ных за проданный товар (произведение цены на количество проданного товара), и сумму, на которую заказано товаров (произведение цены на количество заказан­ного товара), а также разность между ними:

SELECT [Код товара], Цена, Заказано, Продано,

Цена*Продано, Цена*3аказано, Цена*Заказано-Цена*Продано

FROM Продажи

Псевдонимы полей

Задайте псевдони­мы для вычисляемых полей в предыдущем запросе.

SELECT [Код товара], Цена, Заказано, Продано,

Цена*Продано AS [Сумма продажи],

Цена*3аказано AS [Сумма заказа],

Цена*Заказано-Цена*Продано AS [Разность]

FROM Продажи

Функции агрегирования

В таблице «Продажи» подсчитайте количество за­писей в поле «Продано», минимальное и максимальное количество проданных товаров, общую сумму проданных товаров и среднее значение проданных товаров.

SELECT COUNT(Продано) AS [Всего записей],

МIN(Продано) AS min,

МАХ(Продано) AS max,

SUM(Продано) AS [Всего продано],

AVG(Продано) AS [Среднее количество продаж]

FROM Продажи

Группировка данных

Подсчитайте количество покупок товаров, сделанных каждым из клиентов.

SELECT [Код клиента],

SUM(Продано) AS [Количество покупок]

FROM Продажи

GROUP BY [Код клиента]

В предыдущем за­просе выберите только тех клиентов, которые сделали за один раз более 10 покупок, и упорядочьте результаты выборки в порядке возрастания:

Язык SQL позволяет извлечь данные из нескольких таблиц. При этом выполняется операция соединения. Способы соединения: соединение равенства, соединение неравенства, внешние соединения. Для задания вида соединения используется предложение WHERE.

Соединение равенства производится по общему для нескольких таблиц полю. Синтаксис:

SELECT table1.field1, table2.field2 {, …, tableN.fieldN}

FROM table1, table2 {, …, tableN}

WHERE table1.common_field1= table2.common_field1

{AND table1.common_field2= table2.common_field2}

При использовании внешнего соединения результат запроса будет содержать все записи одной из таблиц, даже в том случае, если в связанной с ней таблице отсутствуют совпадающие значения. Реализуется с помощью оператора OUTER JOIN:

SELECT table1.field1, table2.field2 {, …, tableN.fieldN}

FROM table1

LEFT | RIGHT | FULL {OUTER} JOIN table2

ON условие

{LEFT | RIGHT | FULL {OUTER} JOIN table3

ON условие}

LEFT – левое внешнее соединение, RIGHT – правое внешнее соединение, FULL – полное внешнее соединение.

Подзапрос – запрос, помещенный внутри другого запроса.

  • Подзапросы должны заключаться в круглые скобки;

SELECT {*| ALL | field1, field2, …, fieldN}

FROM table1 { , table2, …, tableN}

WHERE условие (SELECT {*| ALL | field1, field2, …, fieldN}

FROM table1 { , table2, …, tableN}

WHERE условие)

  • Предложение ORDER BY может быть использовано только в основном запросе;
  • Подзапросы, возвращающие более одной записи, могут использоваться только с многозначными операторами;
  • В основном запросе нельзя использовать оператор BETWEEN.

Запросы, включающие в себя несколько операторов SELECT, называются составными. Правила объединения запросов:

  • каждый из запросов, входящих в объединение, должен возвращать одинаковое количество полей;
  • типы полей, возвращаемых в результате выполнения каждого запроса, должны совпадать.
  • при использовании оператора UNION результаты выполнения отдельных запросов объединяются, дублирующие друг друга записи исключаются;
  • при использовании оператора UNION ALL в результирующую выборку включаются дублирующие записи;




Читайте также:

Добавить комментарий


Защитный код
Обновить




Разделы



Главная Базы данных Использование SQL Запросов