W Cat - SQL за 24 часа
- Название:SQL за 24 часа
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
W Cat - SQL за 24 часа краткое содержание
SQL за 24 часа - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
9-й час Подведение итогов по данным запроса
В ходе этого урока мы рассмотрим те функции SQL, которые предназначены для подведения итогов. С их помощью можно осуществлять достаточно широкий спектр математических операций с данными.
Основными на этом уроке будут следующие темы.
• Что такое функции?
• Использование функций
• Когда следует использовать функции?
• Использование итоговых функций
• Суммирование данных с помощью итоговых функций
• Результаты использования функций
Функции в SQL представляются ключевыми словами и используются для математических преобразований данных в столбце с целью соответствующего представления данных при выводе. Функция - это команда, всегда используемая в связи с именем столбца или выражением. В SQL имеется несколько типов функций. В ходе этого урока мы рассмотрим итоговые функции. Итоговая функция - это функция, используемая в операторе SQL для получения итоговой информации типа общего числа строк, сумм или среднего значения.
В ходе этого урока мы обсудим следующие итоговые функции.
• COUNT
• SUM
• MAX
• MIN
• AVG
Следующие запросы показывают данные, которые используются для большинства примеров данного урока.
SELECT *
FROM PRODUCTS_TBL;
PROD_ID PROD_DESC COST
11235 КОСТЮМ ВЕДЬМЫ 29.99
222 ПЛАСТИКОВЫЕ ТЫКВЫ 7.75
13 ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 1.1
90 ФОНАРИ 14.5
15 КОСТЮМЫ В АССОРТИМЕНТЕ 10
9 СЛАДКАЯ КУКУРУЗА 1.35
6 ТЫКВЕННЫЕ КОНФЕТЫ 1.45
87 ПЛАСТИКОВЫЕ ПАУКИ 1.05
119 МАСКИ В АССОРТИМЕНТЕ 4.95
1234 ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ 5.95
2345 ПОЛОМКА ИЗ ДУБА 59.99
11 строк выбраны.
Как видно из следующего запроса, не все служащие имеют номера пейджеров.
SELECT EMP_ID, LAST_NAME, FIRST_NAME, PAGER
FROM EMPLOYEE_TBL;
EKP_ID LAST_NAME FIRST_NAME PAGER
311549902 STEPHENS TINA
4423468b9 PLEW LINDA
213764555 GLASS BRANDON 3175709980
313782439 GLASS JACOB 8887345678
220984332 WALLACE MARIAH
443679012 SPURGEON TIFFANY
6 строк выбраны.
Функция COUNT используется для подсчета строк или значений в столбце, отличных от значения NULL При использовании в запросах функция COUNT возвращает числовое значение. При использовании с опцией DISTINCT функция COUNT посчитает только разные строки (т. е строки без учета повторений). По умолчанию используется опция ALL (противоположность DISTINCT), поэтому указывать ALL не обязательно Повторяющиеся значения считаются, когда DISTINCT не указано Другой опцией функции COUNT является звездочка (*) При использовании со звездочкой функция COUNT возвращает число всех строк в таблице, без исключения повторяющихся, не обращая внимания на возможно имеющиеся в столбце значения NULL
Синтаксис оператора функции COUNT следующий
COUNT [ (*) | (DISTINCT | ALL) J (имя_столбца)
Команда DISTINCT не используется с COUNT(*), а используется только с COUNT(имя_столбца)
Пример _______________________________ Значение ____________________
SELECT COUNT (EMP_ID) Подсчет числа табельных номеров всех слу-
FROM EMPLOYEE__PAY_TBL; жащих
SELECT COUNT (DISTINCT SALARY) Подсчет только разных строк
FROM EMPLOYEE_PAY_TBL;
SELECT COUNT (ALL SALARY; Подсчет всех строк для SALARY
FROM EMPLOYEE_PAY_TBL;
SELECT COUNT (*) Подсчет всех строк таблицы EMPLOYEE_TBL
FROM EMPLOYEE_TBL;
В следующем примере COUNT (*) используется для подсчета всех записей в таблице EMPLOYEE_TBL. В ней оказывается 6 строк с данными о служащих.
SELECT COUNT(*)
FROM EMPLOYEE_TBL;
COUNT (*)
---------
6
В следующем примере используется COUNT iEMP_ID), чтобы подсчитать число всех табельных номеров служащих в таблице Результат совпадает с результатом предыдущего запроса, поскольку каждый из служащих имеет свой табельный номер
SELECT COUNT(EMP_ID)
FROM EMPLOYEE_TBL;
COUNT(EMP_ID)
------------
6
В следующем примере используется COUNT (PAGER) , чтобы подсчитать число всех служащих, имеющих номера пейджеров. Имеется только два таких служащих
SELECT COUNT(PAGER)
FROM EMPLOYEEJTBL;
COUNT(PAGER)
------------
2
В следующем примере используется таблица OPDERS_TBL.
SELECT *
FROM ORDERS_TBL;
ORD_NUM CUST_ID PROD__ID QTY ORD_DATE
56A901 232 11235 1 22-OCT-99
56A917 12 907 100 30-SEP-99
32A132 43 222 25 10-OCT-99
16C17 090 222 2 17-OCT-99
18D778 287 90 10 17-OCT-99
23E934 432 13 20 15-OCT-99
90C461 560 1234 2
7 строк выбраны.
Подсчитаем в этой таблице число различных кодов товаров.
SELECT COUNT(DISTINCT(PROD_ID))
FROM ORDERS_TBL;
COUNT(DISTINCT(PROD_ID))
-----------------------
6
Для PROD_ID значение 222 встречается дважды, в результате подсчет различных значений возвращает б, а не 7.
Ввиду того, что функция COUNT подсчитывает строки, тип содержащихся в столбце данных роли не играет, т. е. данные в строке могут быть любого типа
Функция SUM используется для подсчета суммы значений в столбце для заданной группы строк. Функцию зим можно использовать вместе с ключевым словом DISTINCT. При использовании ключевого слова DISTINCT повторно встречающиеся значения в сумму не включаются. В этом случае итог не будет полной суммой, поскольку некоторые строки могут быть при суммировании пропущены.
Синтаксис оператора функции зим следующий.
SUM ([ DISTINCT ] имя_столбца )
При использовании функции зим тип значения в столбце предполагается числовым. Функцию зим нельзя использовать по отношению к столбцам с символьными значениями или значениями дат и времени.
Пример _______________________________ Значение __________________
SELECT SUM (SALARY) Подсчет суммы зарплат всех служащих
FROM EMPLOYEE_PAY_TBL;
SELECT SUM (DISTINCT SALARY) Подсчет суммы зарплат всех служащих без
FROM EMPLOYEE_PAY_TBL; учета повторяющихся значений
Подсчитаем сумму всех значений стоимости товаров из таблицы PRODUCT S_TBL.
SELECT SUM(COST)
FROM PRODUCTSJTBL;
SUM(COST)
---------------
163.07
Функция AVG используется для подсчета среднего для значений заданной группы строк. При использовании с ключевым словом DISTINCT повторно встречающиеся значения в среднем не учитываются.
Синтаксис оператора функции AVG следующий.
AVG([ DISTINCT ] имя_столбца )
Для использования функции AVG тип значения в столбце должен быть числовым.
Пример _____________________________ Значение ______________________
SELECT AVG (SALARY) Подсчет средней зарплаты всех служащих
FROM EMPLOYEE_PAY_TBL;
SELECT AVG (DISTINCT SALARY) Подсчет среднего значения для зарплат всех
FROM EMPLOYEE_PAY_TBL ; служащих без учета повторяющихся значений
Подсчитаем среднее для всех значений стоимости товаров из таблицы PRODUCTS_TBL.
SELECT AVG(COST)
FROM PRODUCTS_TBL;
AVG(COST)
-----------
13.5891667
В некоторых реализациях SQL результат будет округлен до точности, заданной типом значений в столбце.
В следующем примере в одном запросе используются две функции. Поскольку одним служащим платят ставку, а другим - почасово, можно подсчитать средние значения и для столбца PAY_RATE, и для столбца SALARY.
SELECT AVG(PAY_RATE), AVG(SALARY)
Читать дальшеИнтервал:
Закладка: