SQL Academy: всё о реляционных БД и SQL
По всем вопросам и коммерческим предложениям писать @LadanovNick Купить рекламу: https://telega.in/c/sqlacademyofficial Чат студентов SQL Academy https://t.me/sqlacademyorg
Показати більше📈 Аналітичний огляд Telegram-каналу SQL Academy: всё о реляционных БД и SQL
Канал SQL Academy: всё о реляционных БД и SQL (@sqlacademyofficial) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 11 365 підписників, посідаючи 10 911 місце в категорії Технології та додатки та 57 339 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 11 365 підписників.
За останніми даними від 28 червня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 180, а за останні 24 години на 9, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 17.77%. Протягом перших 24 годин після публікації контент зазвичай збирає 11.66% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 2 020 переглядів. Протягом першої доби публікація в середньому набирає 1 325 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 16.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як sql, строка, индекс, auto_increment, created_at.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“По всем вопросам и коммерческим предложениям писать @LadanovNick
Купить рекламу: https://telega.in/c/sqlacademyofficial
Чат студентов SQL Academy
https://t.me/sqlacademyorg”
Завдяки високій частоті оновлень (останні дані отримано 29 червня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
SELECT DATE_FORMAT('2024-08-16', '%W, %M %d, %Y');
a) Возвращает дату в формате 16 августа 2024
b) Возвращает дату в формате 2024-08-16
c) Возвращает дату в формате Friday, August 16, 2024
d) Возвращает дату в формате 2024-16-08
Правильный ответ: c) Возвращает дату в формате Friday, August 16, 2024
Вопрос 2: Какой результат вернет следующий запрос, если текущая дата 2024-08-16?
SELECT DATEDIFF('2024-12-31', CURDATE());
a) 137
b) 100
c) 31
d) 365
Правильный ответ: a) 137
Вопрос 3: Какой результат вернет следующий запрос?
SELECT DATE_ADD('2024-02-28', INTERVAL 1 DAY);
a) 2024-02-29
b) 2024-03-01
c) 2024-03-02
d) Ошибка из-за неверной даты
Правильный ответ: b) 2024-03-01
Вопрос 4: Что произойдет, если выполнить следующий запрос?
SELECT TIMESTAMPDIFF(HOUR, '2024-08-16 08:00:00', '2024-08-16 20:00:00');
a) Вернет количество дней между двумя датами
b) Вернет количество секунд между двумя датами
c) Вернет количество часов между двумя датами
d) Вернет количество минут между двумя датами
Правильный ответ: c) Вернет количество часов между двумя датамиВывести список сотрудников, получающих заработную плату большую чем у непосредственного руководителяСсылка на подготовленную песочницу: https://sqlplayground.app/sandbox/669fd9c7fab0d08abff8ded8 Задача 2
Вывести список сотрудников, получающих максимальную заработную плату в своем отделеСсылка на подготовленную песочницу: https://sqlplayground.app/sandbox/669fdc57fab0d08abff8deef
SELECT employee_id, employee_name
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);
В этом примере подзапрос вычисляет среднюю зарплату, и основной запрос возвращает сотрудников с зарплатой выше среднего.
🔹 Подзапрос в FROM
SELECT department_id, COUNT(*)
FROM (SELECT department_id, employee_id FROM employees WHERE salary > 50000) high_earners
GROUP BY department_id;
Этот подзапрос выбирает сотрудников с зарплатой выше 50000, а затем основной запрос подсчитывает их количество по отделам.
🔹Подзапрос в WHERE
SELECT employee_id, employee_name
FROM employees
WHERE department_id IN (SELECT department_id FROM departments WHERE location = 'New York');
Здесь подзапрос выбирает отделы в Нью-Йорке, а основной запрос возвращает сотрудников этих отделов.
Подзапросы позволяют создавать динамичные и гибкие SQL-запросы, упрощая работу с комплексными данными. Попробуйте использовать их в своих проектах для повышения эффективности и точности ваших запросов! ⚡️
SELECT IF(age > 18, 'adult', 'minor') FROM users;
🔹 CASE
Оператор CASE в MySQL используется для выполнения множественных условий. Это похоже на использование нескольких операторов IF в других языках программирования.
Пример:
SELECT name,
CASE
WHEN score >= 90 THEN 'excellent'
WHEN score >= 80 THEN 'good'
WHEN score >= 70 THEN 'average'
LSE 'poor'
END as performance
FROM students;
Этот запрос классифицирует студентов по их производительности на основе баллов.
🔹 COALESCE
Функция COALESCE() возвращает первый ненулевой из своих аргументов 🌟.
Пример:
SELECT COALESCE(address, email, 'no contact') FROM contacts;
Здесь запрос вернет адрес контакта, если он не NULL; если адрес NULL, будет проверен email, и если он тоже NULL, вернется строка 'no contact'.
🔹 NULLIF
Функция NULLIF() возвращает NULL, если два аргумента равны. Если они не равны, возвращается первый аргумент.
Пример:
SELECT NULLIF(score, 0) FROM results;
Этот запрос вернет NULL для всех результатов, где score равен 0, предотвращая деление на ноль в расчетах.
Заключение
Условные выражения в MySQL значительно упрощают обработку данных, позволяя реализовать сложные логические проверки и принятие решений прямо в процессе запроса к базе данных. Они делают SQL-запросы более мощными и гибкими, позволяя программистам создавать более эффективные и оптимизированные решения для обработки данных.
-- Найти ID отдела с максимальной суммарной зарплатой сотрудников
Условие задачи и схему можно посмотреть тут:
https://sqlplayground.tech/sandbox/665f1dfc336e7166b572f64c
Для участия необходимо:
1) Перейти по ссылке sql песочницы
https://sqlplayground.tech/sandbox/665f1dfc336e7166b572f64c
2) Сделать fork (копию этой песочницы)
3) В блоке Query SQL написать ваше решение
4) Не забыть сохранить песочницу перед отправкой
5) Оставить в комментариях под постом ссылку на вашу песочницу с решением
Первый кто ее успешно решит - получит заслуженную награду 🎁
-- Создаем временную таблицу
CREATE TEMPORARY TABLE TempSales AS
SELECT ProductID, RegionID, SUM(Sales) as TotalSales
FROM SalesRecords
WHERE SaleDate BETWEEN '2023-01-01' AND '2023-01-31'
GROUP BY ProductID, RegionID;
-- Используем временную таблицу для более сложного запроса
SELECT p.ProductName, r.RegionName, t.TotalSales
FROM TempSales t
JOIN Products p ON t.ProductID = p.ProductID
JOIN Regions r ON t.RegionID = r.RegionID
ORDER BY t.TotalSales DESC;
В этом примере мы создаем временную таблицу TempSales, чтобы хранить результаты агрегации по продуктам и регионам за январь 2023 года. Затем мы присоединяем таблицы Products и Regions для получения названий продуктов и регионов, сортируя результаты по убыванию объема продаж.
Когда стоит использовать временные таблицы:
1️⃣ Когда вы работаете с большими объемами данных. 📊
2️⃣ Когда в запросах многократно используются одни и те же подсчеты или агрегации
3️⃣ Когда нужно разделить сложный запрос на управляемые части.
CREATE TRIGGER before_user_update
BEFORE UPDATE ON users
FOR EACH ROW
SET NEW.last_updated = NOW();
Удаление триггера ❌
Удалить триггер можно с помощью команды DROP TRIGGER. Например:
DROP TRIGGER before_user_update;
Полезный пример использования ℹ️
Предположим, в базе данных есть таблица orders с полями id, total и updated_at. Можно создать триггер, который будет обновлять updated_at каждый раз, когда меняется сумма заказа (total):
CREATE TRIGGER update_order_timestamp
BEFORE UPDATE ON orders
FOR EACH ROW
WHEN (OLD.total <> NEW.total)
BEGIN
SET NEW.updated_at = CURRENT_TIMESTAMP;
END;
Этот триггер помогает отслеживать момент последнего изменения суммы заказа, что может быть полезно для аудита изменений или для обновления связанных систем, например, систем бухгалтерского учета.
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
