Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных / БД2012 / Understanding.SQL.doc
Скачиваний:
281
Добавлен:
28.03.2015
Размер:
1.75 Mб
Скачать

Работа с sql

  1. Напишите два запроса которые могли бы вывести все порядки на 3 или 4 Октября 1990 2. Напишите запрос который выберет всех заказчиков обслуживаемых продавцами Peel или Motika. ( Подсказка: из наших типовых таблиц, поле snum связывает вторую таблицу с первой ) 3. Напишите запрос, который может вывести всех заказчиков чьи имена начинаются с буквы попадающей в диапазон от A до G. 4. Напишите запрос который выберет всех пользователей чьи имена начинаются с буквы C. 5. Напишите запрос который выберет все порядки имеющие нулевые значения или NULL в поле amt(сумма).

6. Обобщение данных с помощью агрегатных функций

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

Что такое агрегатные функции ?

Запросы могут производить обобщенное групповое значение полей точно также как и значение одного пол. Это делает с помощью агрегатных функций. Агрегатные функции производят одиночное значение для всей группы таблицы. Имеется список этих функций: * COUNT - производит номера строк или не-NULL значения полей которые выбрал запрос. * SUM - производит арифметическую сумму всех выбранных значений данного пол. * AVG - производит усреднение всех выбранных значений данного пол. * MAX - производит наибольшее из всех выбранных значений данного пол. * MIN - производит наименьшее из всех выбранных значений данного пол.

Как использовать агрегатные функции ?

Агрегатные функции используются подобно именам полей в предложении SELECT запроса, но с одним исключением, они берут имена пол как аргументы. Только числовые пол могут использоваться с SUM и AVG. С COUNT, MAX, и MIN, могут использоваться и числовые или символьные пол. Когда они используются с символьными полями, MAX и MIN будут транслировать их в эквивалент ASCII, который должен сообщать, что MIN будет означать первое, а MAX последнее значение в алфавитном порядке( выдача алфавитного упорядочения обсуждается более подробно в Главе 4 ). Чтобы найти SUM всех наших покупок в таблицы Порядков, мы можем ввести следующий запрос, с его выводом в Рисунке 6.1:

SELECT SUM ((amt))

FROM Orders;

=============== SQL Execution Log ============

| |

| SELECT SUM (amt) |

| FROM Orders; |

| ==============================================|

| |

| ------- |

| 26658.4 |

| |

| |

===============================================

Рисунок 6.1: Выбор суммы

Это конечно, отличается от выбора пол при котором возвращается одиночное значение, независимо от того сколько строк находится в таблице. Из-за этого, агрегатные функции и пол не могут выбираться одновременно, пока предложение GROUP BY (описанное далее) не будет использовано. Нахождение усредненной суммы - это похожа операция ( вывод следующего запроса показывается в Рисунке 6.2 ):

SELECT AVG (amt)

FROM Orders;

=============== SQL Execution Log ============

| |

| SELECT AVG (amt) |

| FROM Orders; |

| ==============================================|

| |

| ------- |

| 2665.84 |

| |

| |

===============================================

Рисунок 6.2: Выбор среднего

Соседние файлы в папке БД2012