В этой статье вы можете рассмотреть виды функций в языке SQL. Функции могут быть агрегатными или скалярными. Начнем…
COUNT()
COUNT() — функция возвращающая количество записей (строк) таблицы. Запись функции с указанием столбца вернет количество записей конкретного столбца за исключением NULL записей. Синтаксис функции:
COUNT(column_name);
Запись функции с указанием маски «*» вернет количество всех записей в таблице. Синтаксис:
COUNT(*);
Рассмотрим примеры. Имеется следующая таблица Universities:
Пример 1. Вывести число записей таблицы, используя функцию COUNT:
SELECT COUNT(*)
FROM Universities; // выведит 7
Пример 2. Найти количество университетов расположенных в Москве, используя функцию COUNT:
SELECT COUNT(*) FROM Universities WHERE Location = 'Moscow'; // выведит 3
AVG()
AVG() — функция возвращающая среднее значение столбца. Данная функция применима только для числовых столбцов. Синтаксис:
AVG(column_name);
Рассмотрим пример. Возьмем нашу таблицу Universities. Пример. Используя функцию AVG найти среднее число студентов (Students) всех университетов:
SELECT AVG(Students) FROM Universities; // выведит 23133
MIN()
MIN() — функция возвращающая минимальное значение столбца. Функция имеет следующий синтаксис:
MIN(column_name);
Рассмотрим пример. Возьмем нашу таблицу Universities. Пример. Используя функцию MIN найти минимальное значение столбца Professores:
SELECT MIN(Professores) FROM Universities; // выведит 936
MAX()
MAX() — функция возвращающая максимальное значение столбца таблицы. Функция имеет следующий синтаксис:
MAX(column_name);
Рассмотрим пример. Возьмем нашу таблицу Universities. Пример. Используя функцию MAX найти максимальное значение колонки Students:
SELECT MAX(Students) FROM Univerities; // выведит 57000
SUM()
SUM() — функция, возвращающая сумму значений столбца таблицы. Используется только для числовых столбцов. Синтаксис функции:
SUM ( [ALL | DISTINCT] expression );
Параметр ALL — является параметром по умолчанию. Считается сумма всех строк. При указании параметра DISTINCT — происходит подсчет только уникальных значений.
Рассмотрим примеры. Возьмем нашу таблицу Universities. Пример 1. Используя функцию SUM найти количество студентов (Students) всех университетов в таблице:
Рассмотрим примеры. Возьмем нашу таблицу Universities. Пример 1. Используя функцию SUM найти количество студентов (Students) всех университетов в таблице:
SELECT SUM(Students) FROM Universities; // выведит 161935
Пример 2. Используя функцию SUM произвести подсчет уникальных значений столбца Faculties:
SELECT SUM(DISTINCT Faculties) FROM Universities; // выведит 117 (в столбце Faculties присутствует 2 одинаковых записи, под ID 1 и 5. Значение столбца под ID 5 не суммируется.)
ROUND()
ROUND() — функция для округления десятичных чисел. Работает только с числовыми столбцами или произвольными вещественными числами. Синтаксис функции:
ROUND(expression, length);
expression — название столбца или столбцов, а так же вещественное число. length — указывает точность округления для числа.
Рассмотрим пример. Возьмём таблицу Planets:
Рассмотрим пример. Возьмём таблицу Planets:
Пример. Используя функцию ROUND округлить столбец SunSeason с точностью до одного знака после запятой:
SELECT ROUND(SunSeason, 1) FROM Planets;
UCASE()
UCASE() — функция, возвращающая значения столбца или столбцов в верхнем регистре букв. В СУБД MS SQL Server аналогом UCASE() является функция UPPER с тем же синтаксисом:
UCASE(column_name)
Рассмотрим пример. Возьмём нашу таблицу Planets. Пример. Вывести названия планет в верхнем регистре, у которых нет колец, используя функцию UCASE:
SELECT UCASE(PlanetName)
FROM Planets
WHERE HavingRings = 'No';
LCASE()
LCASE() — функция, возвращающая значения столбца или столбцов в нижнем регистре букв. В СУБД MS SQL Server аналогом оператора SQL LCASE() является функция LOWER с тем же синтаксисом:
LCASE(column_name);
Рассмотрим пример. Возьмём нашу таблицу Planets. Пример. С помощью функции LCASE вывести в нижнем регистре названия планет, у которых есть кольца:
SELECT LCASE(PlanetName)
FROM Planets
WHERE HavingRings = 'Yes';
LEN()
LEN() — функция, возвращающая длину значения в поле записи. Функция исключает из подсчета конечные пробелы. Синтаксис:
LEN(column_name);
Рассмотрим пример. Возьмём нашу таблицу Planets. Пример. Вывести первооткрывателя планеты (Opener) и длину названия открытым им планеты, с помощью функции LEN:
SELECT Opener, LEN(PlanetName) FROM Planets;
MID()
MID() — функция, выводящая определенное количество символов текстового поля таблицы. Синтаксис функции:
MID(colunm_name,start [,length]);
Параметр start задает позицию начального символа. Параметр length устанавливает количество символов для вывода начиная с позиции, указанной в параметре start.
Рассмотрим пример. Возьмём нашу старую таблицу Universities. Пример. Вывести первые 3 символа названия города (Location) с помощью функции MID:
Рассмотрим пример. Возьмём нашу старую таблицу Universities. Пример. Вывести первые 3 символа названия города (Location) с помощью функции MID:
SELECT MID(Location, 1, 3) FROM Universities;
NOW()
NOW() — функция, возвращающая системное время и дату. Синтаксис функции:
NOW();
Рассмотрим пример. Возьмём нашу старую таблицу Universities. Пример. Вывести сколько на текущий момент студентов обучается в каждом университете. используя функцию NOW:
SELECT UniversityName, Students, NOW() AS CurDate FROM Universities;
Для закрепления материала выполните пример каждой функцию самостоятельно. Если будут вопросы пишите в комментариях и я обязательно на них отвечу.