Без лишних слов принесли вам некоторые популярные функции MySQL, без которых вы точно не обойдётесь в работе.

AVG

Возвращает среднее значение из ряда числовых значений в виде десятичной дроби.

Например, если столбец таблицы содержит значения 1, 2, 3 и 4, то функция AVG, применённая к этому столбцу, вернёт значение 2.5. Функция AVG игнорирует значения NULL, поэтому, если какое-либо из значений в наборе является NULL, оно не будет включено в расчёт. Синтаксис функции AVG следующий:

AVG(expression)

Где expression — это столбец или выражение, содержащее числовые значения, которые необходимо усреднить. Например, вы можете использовать следующий запрос для расчёта средней зарплаты всех сотрудников в таблице:

SELECT AVG(salary) FROM employees;

COUNT

Возвращает количество строк, которые соответствуют заданном условию. Результат —всегда целое число.

Например, если у вас есть таблица с 10 строками, то функция COUNT, примененная к этой таблице, вернёт значение 10. Функция COUNT тоже игнорирует значения NULL, поэтому если какая-либо из строк таблицы содержит значения NULL в подсчитываемых столбцах, они не будут включены в расчёт.

Синтаксис функции COUNT следующий:

COUNT(expression)

Где expression — столбец или выражение для подсчёта.

Вы также можете использовать условие, чтобы указать, какие строки должны быть подсчитаны. Например, так можно посчитать, сколько в компании сотрудников с зарплатой выше 50 000 ₽:

SELECT COUNT(*) FROM employees WHERE salary > 50000;

MAX и MIN

Возвращают максимальное и минимальное значение из набора числовых или строковых значений.

Из набора 1, 2, 3 и 4 функция MAX вернёт значение 4. Если столбец содержит строковые значения яблоко, банан и вишня, функция MAX вернёт значение яблоко. Функция MAX, как и предыдущие, игнорирует значения NULL, поэтому если какое-либо из значений в наборе является NULL, оно не будет включено в расчёт. Синтаксис функции MAX следующий:

MAX(expression)

Где expression — столбец или выражение, содержащее сравниваемые значения. Например, вы можете использовать следующий запрос, чтобы найти самую высокую зарплату всех сотрудников в таблице:

SELECT MAX(salary) FROM employees;

Функция MIN устроена аналогичным образом, только возвращает минимальное значение.

SUM

Возвращает сумму набора числовых значений в виде десятичного числа.

Например, для набора 1, 2, 3 и 4 функция SUM вернёт значение 10. Функция SUM игнорирует значения NULL, поэтому если какое-либо из значений в наборе является NULL, оно не будет включено в расчёт.

Синтаксис функции SUM следующий:

SUM(expression)

Где expression — столбец или выражение, содержащее числа, которые необходимо суммировать. Например, вы можете использовать следующий запрос для вычисления общей зарплаты всех сотрудников в таблице:

SELECT SUM(salary) FROM employees;

NOW

Возвращает текущую дату и время.

Функция NOW часто используется в комбинации с другими функциями или в условиях запроса. Например, её можно использовать для вставки текущей даты и времени в таблицу или для сравнения текущей даты и времени с временной меткой, хранящейся в таблице.

Синтаксис функции NOW очень простой — функция не принимает никаких аргументов.

NOW()

Например, вы можете использовать следующий запрос для вставки текущей даты и времени в столбец timestamp таблицы table:

INSERT INTO table (timestamp) VALUES (NOW());

SUBSTRING

Возвращает часть строки, начинающуюся с указанной позиции и имеющую заданную длину.

Она возвращает извлеченную часть строки в виде новой строки. Например, если у вас есть строка Hello, world! и вы используете функцию SUBSTRING для извлечения пяти символов, начиная с седьмого, то функция вернёт строку world.

Синтаксис функции SUBSTRING следующий:

SUBSTRING(string, start, length)

Где string — входная строка, start — позиция, с которой начинается извлечение, а length — количество символов для извлечения. Если аргумент length опущен, функция извлечет все символы от позиции start до конца строки.

Например, вы можете использовать следующий запрос для извлечения первых пяти символов строки:

SELECT SUBSTRING('Hello, world!', 1, 5);

В результате будет возвращена строка Hello.

UCASE и LCASE

Функции UCASE и LCASE в MySQL используются для преобразования строки в верхний или нижний регистр, соответственно.

Эти функции часто используются при сравнении строк, которые могли быть введены в разном регистре, или при хранении строк в едином регистре для облегчения поиска и сортировки. Функция UCASE переводит все буквы во входной строке в верхний регистр, а функция LCASE переводит все буквы в нижний регистр. Синтаксис этих функций следующий:

UCASE(string)
LCASE(string)

Где string — это входная строка, которую нужно преобразовать. Например, вы можете использовать следующий запрос для преобразования строки в верхний регистр:

SELECT UCASE('Hello, world!');

Это вернёт строку HELLO, WORLD! со всеми буквами в верхнем регистре. Аналогично, следующий запрос вернёт строку hello, world! со всеми буквами в нижнем регистре.

SELECT LCASE('Hello, world!');

CONCAT

Соединяет две или более строк в одну.

Она возвращает склеенную строку как новую строку. Например, если у вас есть строки Hello и world с пробелом в начале строки, и вы используете функцию CONCAT для их объединения, функция вернёт строку Hello world.

SELECT CONCAT('Hello', ' world');

Синтаксис функции CONCAT следующий:

CONCAT(string1, string2, ...)

Где string1, string2 и так далее — строки, которые вы хотите склеить. Функция CONCAT может принимать любое количество аргументов, и все строки будут склеены в том порядке, в котором указаны.

Соединить строки с разделителем

Вы также можете использовать функцию CONCAT_WS, которая означает «конкатенировать с разделителем». Например, можно использовать следующий запрос для конкатенации двух строк с пробелом в качестве разделителя:

SELECT CONCAT_WS(' ', 'Hello', 'world');

Это также вернёт строку Hello world, но использование функции CONCAT_WS позволяет указать используемый разделитель.

Это лишь некоторые примеры из множества встроенных функций, доступных в MySQL. Существует множество других, каждая из которых имеет свое специфическое назначение и случаи использования.

Больше статей


Эту статью нам помогли сделать нейросети. Если вы нашли в ней фактические ошибки — напишите на blog+neural@htmalcademy.ru.