В этой статье мы расскажем о том, что такое SQL-выражения, и приведем примеры их использования.
Что такое SQL-выражения
SQL — это язык структурированных запросов, который используется для взаимодействия с реляционными базами данных.
SQL-выражение — это команда, которая выполняет определенное действие: извлекает данные, обновляет записи, удаляет строки или добавляет новые. Выражения могут включать условия, фильтры и операции с данными.
Существует 3 основных типа SQL-выражений:
- 1. Логические — используются для фильтрации данных на основе условий.
- 2. Числовые — применяются для арифметических операций.
- 3. SQL-выражения даты и времени — помогают работать с данными, связанными с датами.
Подробнее о них расскажем ниже.
Логические SQL-выражения
Логические SQL-выражения применяются для фильтрации данных на основе заданных условий. Они помогают выбрать только те строки, которые соответствуют заданным критериям. Логические выражения обычно используются в конструкциях типа WHERE
для фильтрации строк.
Основными операторами логических SQL-выражений являются:
-
1
AND — оператор, который объединяет два или более условия и возвращает результат только в том случае, если все условия истинны.
SELECT * FROM users WHERE age > 25 AND city = 'Moscow';
Это выражение извлечет всех пользователей, у которых возраст больше 25 и город проживания — Москва.
-
2
OR — оператор, который возвращает данные, если хотя бы одно из условий истинно.
SELECT * FROM users WHERE age < 18 OR age > 60;
Это выражение извлечет всех пользователей младше 18 или старше 60 лет.
-
3
NOT — оператор, который возвращает данные, если условие ложно.
SELECT * FROM users WHERE NOT city = 'Moscow';
Это выражение извлечет всех пользователей, чьим городом проживания не является Москва.
Логические выражения позволяют комбинировать условия, создавая более сложные фильтры для извлечения необходимых данных. Например:
SELECT * FROM users WHERE (age > 30 AND city = 'Moscow') OR age < 18;
Этот запрос извлечет всех пользователей старше 30 лет, проживающих в Москве, или пользователей младше 18 лет.
Числовые SQL-выражения
Числовые SQL-выражения используются для выполнения математических операций с числовыми значениями в таблицах базы данных. Эти выражения включают в себя арифметические операторы и функции, которые позволяют проводить вычисления над значениями полей, создавать новые значения и изменять существующие данные.
SQL поддерживает различные арифметические операторы:
-
1
Сложение (+) — прибавляет одно значение к другому.
SELECT salary + 5000 AS new_salary FROM employees;
Это выражение прибавляет 5000 к зарплате каждого сотрудника.
-
2
Вычитание (-) — вычитает одно значение из другого.
SELECT salary - 1000 AS adjusted_salary FROM employees;
В этом примере из зарплаты сотрудников вычитается 1000.
-
3
Умножение (*) — умножает значения.
SELECT salary * 1.1 AS increased_salary FROM employees;
Выражение увеличивает зарплату на 10% для каждого сотрудника.
-
4
Деление (/) — делит значения.
SELECT salary / 2 AS half_salary FROM employees;
В этом примере зарплата каждого сотрудника делится пополам.
-
5
Модуль (%) — возвращает остаток от деления.
SELECT id % 2 AS remainder FROM users;
Это выражение вычисляет остаток от деления идентификатора пользователя на 2, что может использоваться, например, для проверки на четность или нечетность.
Помимо простых арифметических операций, SQL также поддерживает различные функции для работы с числами:
-
1
ABS() — возвращает абсолютное значение числа.
SELECT ABS(-150) AS absolute_value;
Результат запроса: 150.
-
2
CEIL() — округляет число до ближайшего целого в большую сторону.
SELECT CEIL(9.3) AS ceiling_value;
Результат запроса: 10.
-
3
FLOOR() — округляет число до ближайшего целого в меньшую сторону.
SELECT FLOOR(9.7) AS floor_value;
Результат запроса: 9.
-
4
MOD() — возвращает остаток от деления.
SELECT MOD(10, 3) AS mod_value;
Результат запроса: 1.
Числовые SQL-выражения позволяют проводить математические вычисления, выполнять расчеты и управлять числовыми значениями. С их помощью можно автоматизировать сложные вычисления и оптимизировать обработку данных, что особенно полезно в финансовых отчетах, инвентаризации, управлении заказами и в других областях.
SQL-выражения даты и времени
SQL-выражения даты и времени используются для работы с данными, связанными с датами и временем в базе данных. Они позволяют извлекать, изменять и выполнять вычисления с датами и временем. Это полезно при управлении данными, связанными с расписаниями, датами транзакций, сроками выполнения задач и другими временными метками.
SQL предоставляет множество функций для работы с датами и временем:
-
1
NOW() — возвращает текущую дату и время.
SELECT NOW();
Это выражение возвращает текущую дату и время сервера базы данных.
-
2
CURDATE() — возвращает только текущую дату.
SELECT CURDATE() AS current_date;
Это выражение вернет только дату в формате ГГГГ-ММ-ДД.
-
3
CURTIME() — возвращает только текущее время.
SELECT CURTIME() AS current_time;
Это выражение вернет текущее время в формате ЧЧ:ММ:СС.
-
4
DATE() — извлекает дату из значения даты и времени.
SELECT DATE(NOW());
Это выражение извлекает только дату из текущего момента.
-
5
TIME() — извлекает только время из значения типа datetime.
SELECT TIME('2024-01-30 14:35:20') AS time_part;
Результат: время 14:35:20.
-
6
YEAR() — извлекает год из даты.
SELECT YEAR(NOW()) AS current_year;
Это выражение вернет текущий год.
-
7
MONTH() — извлекает месяц из даты
SELECT MONTH(NOW()) AS current_month;
Это выражение вернет текущий месяц.
-
8
DAY() — извлекает день из даты.
SELECT DAY(NOW()) AS current_day;
Это выражение вернет текущий день.
-
9
DATEDIFF() — возвращает количество дней между двумя датами.
SELECT DATEDIFF('2024-12-31', '2024-01-01') AS days_difference;
Это выражение вычисляет количество дней между двумя датами.
-
10
DATE_ADD() — добавляет интервал к дате.
SELECT DATE_ADD(NOW(), INTERVAL 5 DAY) AS future_date;
Это выражение добавляет 5 дней к текущей дате.
-
11
DATE_SUB() — вычитает интервал из даты.
SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH) AS past_date;
Это выражение вычитает один месяц из текущей даты.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊