Без лишних слов принесли вам некоторые популярные функции 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.