Базы данных

Встроенные функции sql

В SQL имеется пять встроенных функций: COUNT, SUM, AVG, MAX и MIN. Они выполняют различные действия над результатами оператора SELECT. Функция COUNT работает вне зависимости от типа данных столбца, а функции SUM, AVG, МАХ и MIN оперируют только числовыми столбцами (Integer, Numeric и т.д.).

Функция COUNT подсчитывает количество строк в результате, а функция SUM вычисляет сумму значений числового столбца. Например, следующий SQL-оператор подсчитывает количество строк в таблице ARTIST:

SELECT COUNT(*) FROM ARTIST;

Результатом этого оператора является следующее отношение:

8

Как уже говорилось ранее, результатом SQL-оператора SELECT всегда является отношение. Если, как в данном случае, результат представляет собой одиночное число, это число все равно считается отношением, имеющим одну строку и один столбец.

Рассмотрим следующие два оператора:

SELECT COUNT(Nationality) FROM ARTIST;

и

SELECT COUNT(DISTINCT Nationality) FROM ARTIST;

Результатом первого оператора будет отношение

8

Результатом первого оператора будет отношение

5

Разница в ответах возникает потому, что второй оператор SELECT не учитывает повторяющиеся строки.

Вот еще один пример использования встроенных функций:

SELECT  MIN(SalesPrice), MAX(SalesPrice), SUM(SalesPrice)

FROM  TRANSACTION

WHERE  TransactionID < 125;

Результатом будет следующая таблица:

9750               73500             165950

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

SELECT CustomerlD,   SUM(SalesPrice)

FROM TRANSACTION

WHERE  TransactionID < 125;

предыдущаяследующая