SQL Ready | Базы Данных
Авторский канал про Базы Данных и SQL Ресурсы, гайды, задачи, шпаргалки. Информация ежедневно пополняется! Cотрудничество: @energy_c РКН: https://clck.ru/3QREBc
Show more📈 Analytical overview of Telegram channel SQL Ready | Базы Данных
Channel SQL Ready | Базы Данных (@sql_ready) in the Russian language segment is an active participant. Currently, the community unites 17 765 subscribers, ranking 7 324 in the Technologies & Applications category and 37 073 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 17 765 subscribers.
According to the latest data from 19 October, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 712 over the last 30 days and by 32 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 12.57%. Within the first 24 hours after publication, content typically collects 5.99% reactions from the total number of subscribers.
- Post reach: On average, each post receives 2 230 views. Within the first day, a publication typically gains 1 062 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 23.
- Thematic interests: Content is focused on key topics such as sql, строка, users, индекс, user_id.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Авторский канал про Базы Данных и SQL
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!
Cотрудничество: @energy_c
РКН: https://clck.ru/3QREBc”
Thanks to the high frequency of updates (latest data received on 20 October, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
ALTER TABLE orders
ADD COLUMN total_with_discount NUMERIC(12,2)
GENERATED ALWAYS AS (
((total * (100 - COALESCE(discount, 0))) / 100)::NUMERIC(12,2)
) STORED;
Теперь при вставке всё считается автоматически:
INSERT INTO orders (total, discount) VALUES (500, 10)
RETURNING total, discount, total_with_discount;
-- total=500.00 | discount=10.00 | total_with_discount=450.00
Также можно обновлять скидки массово:
UPDATE orders
SET discount = CASE
WHEN total > 1000 THEN 15
WHEN total > 500 THEN 10
ELSE 5 END;
🔥 SQL сам пересчитает итог — без ручной логики и ошибок округления. Удобно для биллинга, акций и расчёта чеков в реальном времени.
➡️ SQL Ready | #практика• Строим иерархию сотрудников с уровнями вложенности; • Ограничиваем глубину рекурсии для контроля результата; • Формируем дерево категорий с полными путями «каталог > подраздел».Подход, который превращает сложные графы и деревья в один читаемый запрос. ➡️ SQL Ready | #гайд
В этой шпаргалке собраны ключевые команды для работы с инфраструктурой базы данных: создание и удаление схем, построение представлений и управление индексами. Они применяются при проектировании архитектуры, оптимизации запросов и организации чистой структуры данных.
➡️ SQL Ready | #шпора✴️Цифровой дресс-код: фон, который выделяет вас. Создай локальный ML-модуль сегментации видео и генератор персонализированных фонов. ✴️CodeMetrics: метрики, которые помогают расти. Разработай систему автооценки эффективности команд через анализ Git-метрик.Почему стоит участвовать: 🔘Кейс в портфолио и полезная обратная связь от менторов Т1; 🔘Шанс проявить себя, чтобы начать карьеру в одной из крупнейших ИТ-компаний; 🔘Реальный опыт командной работы; 🔘Мерч и атмосфера сильного комьюнити — в Т1 более 5 000 джунов из 580+ вузов России и Беларуси. Регистрация открыта! ➡️ Успей до 21 октября по ссылке. erid: 2Vtzqwmd32u
CASE + агрегатные функции.
Создадим таблицу и данные:
CREATE TABLE Sales (
id INT,
region VARCHAR(20),
amount DECIMAL(10,2)
);
INSERT INTO Sales VALUES
(1, 'North', 100.00),
(2, 'South', 200.00),
(3, 'West', 150.00),
(4, 'North', 120.00);
Пример разворота, CASE выделяет значения по условию, а агрегатная функция сводит их в колонку. Здесь используется MAX, поэтому для North берётся 120 (максимум):
SELECT
MAX(CASE WHEN region = 'North' THEN amount END) AS North,
MAX(CASE WHEN region = 'South' THEN amount END) AS South,
MAX(CASE WHEN region = 'West' THEN amount END) AS West
FROM Sales;
Если нужно посчитать итоги — ставим SUM вместо MAX:
SELECT
SUM(CASE WHEN region = 'North' THEN amount ELSE 0 END) AS North,
SUM(CASE WHEN region = 'South' THEN amount ELSE 0 END) AS South,
SUM(CASE WHEN region = 'West' THEN amount ELSE 0 END) AS West
FROM Sales;
🔥 Приём применяется, когда список колонок известен заранее и нужна статическая отчётная форма.
➡️ SQL Ready | #практика• Считаем количество боёв и побед каждого героя; • Рассчитываем процент побед; • Строим топ-5 персонажей.В итоге получаем инструмент для аналитики боёв и корректировки баланса игры. ➡️ SQL Ready | #задача
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT NOT NULL,
total_amount DECIMAL(10,2) NOT NULL CHECK (total_amount >= 0),
status VARCHAR(20) NOT NULL CHECK (status IN ('new', 'pending', 'shipped'))
);
Попытка вставить некорректное значение:
INSERT INTO orders VALUES (1, 101, -500, 'new');
-- ERROR: check constraint violated
Можно добавлять бизнес-правила:
ALTER TABLE orders
ADD CONSTRAINT chk_min_total CHECK (total_amount >= 100);
Но если в таблице уже есть строки с total_amount < 100, СУБД выдаст ошибку.
🔥 Так что, CHECK — это встроенный «охранник» базы, предотвращающий ошибки ещё до попадания данных в аналитику или отчёты.
➡️ SQL Ready | #практикаВ этой шпаргалке — практичные приёмы условной логики, которые заменяют громоздкие подзапросы. С их помощью можно проверять NULL, подставлять значения по умолчанию, строить бизнес-правила прямо в запросах и гибко фильтровать данные в реальной аналитике.
➡️ SQL Ready | #шпора• Сравним обещанную дату доставки с фактической; • Посчитаем количество дней задержки; • Вернём список всех заказов с опозданием.В результате получаем инструмент для контроля логистики: видно, где сбои и на сколько дней выходят из графика. Это основа для улучшения SLA и переговоров с перевозчиками. ➡️ SQL Ready | #задача
UPSERT — вставка при отсутствии и обновление при конфликте.
Задаём таблицу:
CREATE TABLE users (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
email TEXT UNIQUE NOT NULL,
login_count INT NOT NULL DEFAULT 0
);
Пробная вставка:
INSERT INTO users (email, login_count)
VALUES ('alice@mail.com', 1);
UPSERT при конфликте (увеличиваем счётчик и сразу возвращаем результат):
INSERT INTO users AS u (email, login_count)
VALUES ('alice@mail.com', 1)
ON CONFLICT (email) DO UPDATE
SET login_count = u.login_count + EXCLUDED.login_count
RETURNING email, login_count;
Результат:
email | login_count
----------------+------------
alice@mail.com | 2
🔥 Такой приём избавляет от дубликатов и делает вставку надёжной.
➡️ SQL Ready | #практикаВ этой шпаргалке — set-операции SQL: от объединения уникальных и повторяющихся строк до пересечений и разностей выборок. Это основа для аналитики и репортинга, когда важно агрегировать данные из разных источников и строить комплексные отчёты.
➡️ SQL Ready | #шпора• Находим игроков с нереальными результатами; • Выявляем короткие сессии с высоким счётом; • Определяем группы игроков, которые могут кооперироваться.Такой приём помогает не только в играх, но и в любых системах с прогрессом, баллами или рейтингами. ➡️ SQL Ready | #задача
• Узнаём, как LAG и LEAD «сдвигают» строки для анализа предыдущих и следующих событий; • Вычисляем разрывы между действиями и фильтруем нужные паттерны; • Находим «спящих» пользователей или редкие события, чтобы улучшить аналитику.Такой подход делает запросы компактными и ускоряет выявление закономерностей. ➡️ SQL Ready | #гайд
