double arrow

EMP_ID POSITION DATE_HIRE PAV_RATE DATE_LAST SALARY BONUS

Резюме

Функция MIN

Функция MIN используется для подсчета минимума для значений заданной группы строк. Значения NULL при этом игнорируются. Можно использовать также ключевое слово DISTINCT, но поскольку повторно встречающиеся значения на значение минимума не влияют, это ключевое слово оказывается в данном случае бесполезным.

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

Пример_________________________________Значение_____________________

SELECT MIN (SALARY) Нахождение минимальной зарплаты

FROM EMPLOYEE_PAY_TBL;

SELECT MIN (DISTINCT SALARY) Нахождение минимальной зарплаты без уче-

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

Подсчитаем минимум всех значений стоимости товаров из таблицы PRODUCTSJTBL.

SELECT MIN(COST) FROM PRODUCTS_TBL;

MIN(COST)

-----------

1.05

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

Наконец, рассмотрим пример комбинирования итоговых функций с арифметическими операциями.

SELECT COUNT(ORD_NUM), SUM(QTY), SUM(QTY) / COUNT(ORD_NUM) AVG_QTY

FROM ORDERS_TBL;

COUNT(ORD_NUM) SUM(QTY) AVG_QTY

------------- ------- -------

7 160 22.85743

Здесь подсчитано число заказов, указана общая сумма стоимости всех заказов и с помощью деления второй величины на первую вычислена средняя стоимость заказа. Для представления последней создан псевдоним столбца – AVG_QTY.

Итоговые функции несложно использовать и они могут оказаться весьма полезными. Вы теперь знаете, как подсчитать число значений в столбце, число строк в таблице, как найти максимальное или минимальное из всех значений в столбце. Помните о том, что при использовании итоговых функций значение NULL не учитывается – исключением является функция COUNT в формате COUNT (*).

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

Вопросы и ответы

Почему при использовании функций MIN и МАХ значениеNULL игнорируется?

Значение NULL означает, что в поле ничего нет.

Почему при использовании функцииCOUNT тип данных не играет значения?

Функция COUNT просто считает строки.

Практикум

Тесты

1. Верно ли следующее утверждение: "Функция AVG возвращает среднее для значений всех строк, включая значения NULL?"

2. Верно ли следующее утверждение: "Функция зим используется для суммирования итоговых значений по столбцам?"

3. Верно ли следующее утверждение: ''Функция COUNT (* ) подсчитывает число всех строк в таблице?"

4. Будут ли работать следующие операторы SELECT? Если нет, то что в них следует исправить?

· SELECT COUNT * FROM EMPLOYEE_PAY_TBL;

· SELECT COUNT(EMPLOYEE_ID), SALARY FROM EMPLOYEE_PAY_TBL;

· SELECT MIN(BONUS), MAX(SALARY) FROM EMPLOYEE_PAY_TBL WHERE SALARY > 20000;

Упражнения

1. Рассмотрите следующую таблицу PRODUCTS_TBL.

311549902 МАРКЕТИНГ 23-МАЙ-89 01-МАЙ-99 30000 2000

442346889 РУК.ГРУППЫ 17-ИЮН-90 14.75 01-ИЮН-99

213764555 МЕНЕДЖЕР 14-АВГ-94 01-АВГ-99 40000 3000

313782439 ПРОДАВЕЦ 28-ИЮН-97 20000 1000

220984332 ДОСТАВКА 22-ИЮЛ-96 11 01-ИЮЛ-99

443679012 ДОСТАВКА 14-ЯНВ-91 15 01-ЯНВ-99

6 строк выбраны.

Постройте операторы SQL, позволяющие найти следующее.

1. Среднюю зарплату (SALARY).

2. Максимальную премию (BONUS).

3. Сумму всех выплат по зарплате.

4. Минимальную почасовую оплату (PAY_RATE).

5. Общее число строк в таблице.


Сейчас читают про: