Читаем SQL за 24 часа полностью

Как видно из следующего запроса, не все служащие имеют номера пейджеров.

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

Функция 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

Функция 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

Функция AVG используется для подсчета среднего для значений заданной группы строк. При использовании с ключевым словом DISTINCT повторно встречающиеся значения в среднем не учитываются.

Синтаксис оператора функции AVG следующий.

AVG([ DISTINCT ] имя_столбца )

Для использования функции AVG тип значения в столбце должен быть числовым.

Пример_____________________________Значение______________________

SELECT AVG (SALARY) Подсчет средней зарплаты всех служащих

FROM EMPLOYEE_PAY_TBL;

SELECT AVG (DISTINCT SALARY) Подсчет среднего значения для зарплат всех

FROM EMPLOYEE_PAY_TBL ; служащих без учета повторяющихся значений

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных