SQL Ready | Базы Данных
Авторский канал про Базы Данных и SQL Ресурсы, гайды, задачи, шпаргалки. Информация ежедневно пополняется! Cотрудничество: @energy_c РКН: https://clck.ru/3QREBc
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام SQL Ready | Базы Данных
تُعد قناة SQL Ready | Базы Данных (@sql_ready) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 17 765 مشتركاً، محتلاً المرتبة 7 324 في فئة التكنولوجيات والتطبيقات والمرتبة 37 073 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 17 765 مشتركاً.
بحسب آخر البيانات بتاريخ 19 أكتوبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 712، وفي آخر 24 ساعة بمقدار 32، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 12.57%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 5.99% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 230 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 062 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 23.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل sql, строка, users, индекс, user_id.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Авторский канал про Базы Данных и SQL
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!
Cотрудничество: @energy_c
РКН: https://clck.ru/3QREBc”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 20 أكتوبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
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 | #гайд
