SQL Academy: всё о реляционных БД и SQL
前往频道在 Telegram
По всем вопросам и коммерческим предложениям писать @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),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
11 365
订阅者
+924 小时
+527 天
+18030 天
帖子存档
Мини-квиз по работе с датой и временем в SQL
Вопрос 1: Что делает следующий запрос?
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) Вернет количество часов между двумя датамиВам было бы интересно пройти тестовой собеседование по SQL от специалистов, работающих в топовых IT компаниях, и получить рекомендации после него?
Давайте попробуем вместе 🫂 решить 2 несложные задачи на позицию Middle business analyst в Accenture:
Кто первый решит одну из задач и первый скинет ссылку на правильное решение в комментарии, тот и
получит заслуженную награду 🎁
2 задачи - 2 победителя.
Для участия необходимо:
1) Перейти по ссылке sql песочницы, ссылки указаны ниже к каждой из задач
2) Сделать fork (копию этой песочницы)
3) В блоке Query SQL написать ваше решение
4) Не забыть сохранить песочницу перед отправкой
5) Оставить в комментариях под постом ссылку на вашу песочницу с решением и номер задачи, которую вы решали
Задача 1
Вывести список сотрудников, получающих заработную плату большую чем у непосредственного руководителяСсылка на подготовленную песочницу: https://sqlplayground.app/sandbox/669fd9c7fab0d08abff8ded8 Задача 2
Вывести список сотрудников, получающих максимальную заработную плату в своем отделеСсылка на подготовленную песочницу: https://sqlplayground.app/sandbox/669fdc57fab0d08abff8deef
⚡️⚡️⚡️Через 15 мин мы повторим наш предыдущий конкурс и разыграем 2 подписки 🎁
Готовьтесь 🙂
🌟 Больше интерактивных элементов на платформе! 🌟
Трудно понять, как работает сортировка в SQL, особенно когда дело касается сортировки по нескольким полям?
Мы подготовили для вас интерактивную демонстрацию работы сортировки 🎁! Теперь разобраться с этим станет гораздо проще и интереснее.
Переходите по ссылке и попробуйте сами:
https://sql-academy.org/guide/sorting
Использование подзапросов в SQL 📊
Подзапросы, или вложенные запросы, — это мощный инструмент для выполнения сложных запросов в SQL. Они позволяют встроить один запрос в другой, делая возможным получение данных, которые зависят от результатов других запросов.
🔹Подзапрос в SELECT
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-запросы, упрощая работу с комплексными данными. Попробуйте использовать их в своих проектах для повышения эффективности и точности ваших запросов! ⚡️Подводим итоги за июнь 🏖
Добрый день! Мы собрали для вас самое важное, что произошло за прошедший месяц. Нас ждет много интересного и полезного!
Расширение способов оплаты 💸
Теперь мы можем принимать платежи не только с банковских карт, выпущенных в России. Если у вас были проблемы с оплатой, теперь они остались в прошлом. Кроме того, сейчас премиум-доступ можно купить с хорошей скидкой, используя промокод ниже.
Новые задания по SQL
Мы добавили 3 новых задания по SQL, основанных на реальных собеседованиях на позицию Junior Data Analyst в Skypro. Проверьте свои навыки и подготовьтесь к интервью!
🔹 Выведите сумму выручки по каждому курсу за последний месяц…
🔹 Выведите название курса и среднюю оценку для каждого курса с количеством оценок…
🔹 Выведите количество пользователей, которые совершили покупку курса, но…
Популярные посты за июнь
🔹 Использование временных таблиц для сложных запросов в SQL
🔹 Краткая справка по основам SQL 🔥
🔹 Условные выражения в MySQL
🔹 В чем отличие WHERE от HAVING
Скидка в честь начала июля
В честь начала нового календарного месяца лета, прекрасного сезона для самообразования, мы объявляем скидку 30%! Активируйте промокод до 6 июля 23:59 и начните учиться с выгодой.
Промокод: JULY30
Какой из диалектов SQL для вас наиболее интересен ❓
Релиз Claude 3.5 Sonnet: Новый игрок на арене ИИ 🖥
Когда речь заходит об искусственном интеллекте и больших языковых моделях, ChatGPT часто оказывается в центре внимания. Однако мир ИИ гораздо шире и разнообразнее.
Знаете ли вы, что согласно многим бенчмаркам, Claude от Anthropic зачастую превосходит своего знаменитого конкурента?
Недавно состоялся важный релиз - Claude 3.5 Sonnet стал доступен бесплатно для всех пользователей. Эта модель позиционируется как прямой конкурент GPT-4o, вышедшего в открытый доступ несколько месяцев назад.
Не упустите возможность интегрировать передовые языковые модели в вашу жизнь и работу. Они способны значительно повысить вашу продуктивность и открыть новые горизонты.
Важное напоминание ‼️: Несмотря на впечатляющие возможности, даже самые передовые модели не застрахованы от ошибок. Всегда перепроверяйте важную информацию, полученную от ИИ.
А вы уже опробовали Claude 3.5 Sonnet?
Руководство по SQL 🔥
Это руководство охватывает различные аспекты, начиная с основ SQL и до более сложных тем. Материал дополнен практическими примерами, которые способствуют лучшему усвоению информации.
Условные выражения в MySQL
Условные выражения в MySQL — это мощный инструмент 🛠️ для работы с данными, позволяющий формировать запросы, которые автоматически адаптируются к различным условиям. Они используются для выполнения различных операций в зависимости от того, удовлетворяют ли данные определенным условиям. В этой статье мы рассмотрим наиболее часто используемые условные выражения в MySQL: IF, CASE, COALESCE, и NULLIF.
🔹 IF
Функция IF() является одной из базовых функций для работы с условиями в MySQL. Она проверяет условие и возвращает одно значение, если условие истинно 🟢, и другое значение, если условие ложно 🔴.
Пример:
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-запросы более мощными и гибкими, позволяя программистам создавать более эффективные и оптимизированные решения для обработки данных.Скидка 40% 🔥 по промокоду RUSSIA_DAY на премиум в честь дня России! Не пропустите возможность!
https://sql-academy.org/ru
Привет всем! 👋
Мы в SQL Academy продолжаем нашу миссию бесплатного обучения SQL! 🎉 Помимо наших фундаментальных курсов на sql-academy.org, с радостью объявляем о запуске нашего нового проекта — SQL Playground!
🚀 SQL Playground — это SQL песочница, где каждый может экспериментировать с SQL, создать базу данных, на ней повыполнять запросы и поделиться ей с кем угодно. И это все абсолютно бесплатно!
Мы запустили наш проект на Product Hunt и будем благодарны за вашу поддержку! Поддержите нас, перейдя по ссылке 👉
на Product Hunt и оставьте свой голос (и комментарий, если хотите поделиться впечатлениями!).
Ссылка на сам проект:
https://sqlplayground.tech/
Ссылка на product hunt:
https://www.producthunt.com/posts/sql-playground-2
💬 Ваше мнение очень важно для нас! Лайкните, делитесь и комментируйте — давайте делать SQL доступным вместе!
Спасибо за вашу поддержку и участие в нашем сообществе! 💙
Премиум подписка в подарок 🎁
Давайте попробуем решить несложную задачу по SQL:
-- Найти ID отдела с максимальной суммарной зарплатой сотрудников
Условие задачи и схему можно посмотреть тут:
https://sqlplayground.tech/sandbox/665f1dfc336e7166b572f64c
Для участия необходимо:
1) Перейти по ссылке sql песочницы
https://sqlplayground.tech/sandbox/665f1dfc336e7166b572f64c
2) Сделать fork (копию этой песочницы)
3) В блоке Query SQL написать ваше решение
4) Не забыть сохранить песочницу перед отправкой
5) Оставить в комментариях под постом ссылку на вашу песочницу с решением
Первый кто ее успешно решит - получит заслуженную награду 🎁Как вам было бы удобнее входить на SQL Academy ❓
Использование временных таблиц для сложных запросов в SQL 🚀
Сегодня мы обсудим, как использование временных таблиц может значительно упростить выполнение сложных запросов и улучшить производительность ваших SQL-операций.
Что такое временные таблицы?
Временные таблицы — это специальные таблицы, которые существуют временно в сеансе вашей базы данных.
Преимущества использования временных таблиц:
1️⃣ Улучшение читаемости запросов: Разбиение сложного запроса на несколько простых шагов с использованием временных таблиц упрощает понимание логики запроса. 📖
2️⃣ Оптимизация производительности: Избежание многократного вычисления одних и тех же данных в различных частях запроса ускоряет выполнение. ⏱️
3️⃣ Упрощение отладки: Проверка содержимого временных таблиц на каждом этапе помогает быстрее находить и исправлять ошибки. 🔍
Пример:
Представим, что нам нужно анализировать продажи по продуктам и регионам, но данные разбросаны по различным таблицам, и существуют сложные условия для агрегации.
-- Создаем временную таблицу
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️⃣ Когда нужно разделить сложный запрос на управляемые части.Триггеры в MySQL 🚀
Триггеры в MySQL — это специальные процедуры, которые автоматически выполняются в ответ на определённые события внутри таблиц базы данных. Они срабатывают при выполнении операций вставки (INSERT), обновления (UPDATE) или удаления (DELETE) данных.
Для чего нужны триггеры 🔍
Триггеры используются для автоматизации выполнения задач в базе данных, что помогает обеспечить целостность данных. Например, они могут автоматически обновлять или проверять данные при изменении таблицы, запускать расчёты или создавать журнал изменений (логирование операций).
Создание триггера 🆕
Создать триггер можно с помощью команды CREATE TRIGGER. Например, триггер, который будет автоматически устанавливать текущую дату и время в поле last_updated при обновлении строки в таблице users:
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;
Этот триггер помогает отслеживать момент последнего изменения суммы заказа, что может быть полезно для аудита изменений или для обновления связанных систем, например, систем бухгалтерского учета.
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
