SQL Ready | Базы Данных
Авторский канал про Базы Данных и SQL Ресурсы, гайды, задачи, шпаргалки. Информация ежедневно пополняется! Cотрудничество: @energy_c РКН: https://clck.ru/3QREBc
Больше📈 Аналитический обзор Telegram-канала SQL Ready | Базы Данных
Канал SQL Ready | Базы Данных (@sql_ready) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 17 754 подписчиков, занимая 7 324 место в категории Технологии и приложения и 37 073 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 17 754 подписчиков.
Согласно последним данным от 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) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
RANK() и DENSE_RANK().
Создадим таблицу с продажами:
CREATE TABLE sales (
employee TEXT,
total_sales INT
);
INSERT INTO sales VALUES
('Alice', 500),
('Bob', 700),
('Charlie', 700),
('Diana', 400);
Выполним ранжирование по сумме продаж:
SELECT employee,
total_sales,
RANK() OVER (ORDER BY total_sales DESC) AS rank_pos,
DENSE_RANK() OVER (ORDER BY total_sales DESC) AS dense_rank_pos
FROM sales;
Результат:
employee | total_sales | rank_pos | dense_rank_pos
---------+--------------+----------+----------------
Bob | 700 | 1 | 1
Charlie | 700 | 1 | 1
Alice | 500 | 3 | 2
Diana | 400 | 4 | 3
🔥 Так что, RANK() пропускает позиции после повторов, а DENSE_RANK() идёт подряд, без «дыр» в нумерации.
➡️ SQL Ready | #практика• Генерируем данные через GENERATE_SERIES() и RANDOM(); • Проверяем, сколько попыток оказались успешными; • Анализируем распределение “удачных” чисел по всем догадкам.Игра помогает тестировать генераторы случайных значений, проверять равномерность распределений и моделировать тесты. ➡️ SQL Ready | #задача
✴️VibeCode Jam: собеседование будущего. Создай ИИ-платформу для прохождения технических собеседований с виртуальным интервьюером. ✴️Self-Deploy: CI/CD без DevOps. Автоматизируй генерацию CI/CD пайплайнов по анализу структуры Git-репозитория.Почему стоит участвовать: 🔘Кейс в портфолио и полезная обратная связь от менторов Т1 🔘Шанс проявить себя, чтобы начать карьеру в одной из крупнейших ИТ-компаний 🔘Реальный опыт командной работы 🔘Мерч и атмосфера сильного комьюнити — в Т1 более 5 000 джунов из 580+ вузов России и Беларуси. Регистрация открыта! ➡️ Успей до 23 ноября по ссылке. Реклама. ООО "ГК "Иннотех" ИНН 9703073496 ERID 2VtzqxXvjVG
Covering Index — это индекс, который уже содержит все данные, нужные запросу.
Если запрос обращается только к колонкам, включённым в индекс — таблица может не читаться вовсе:
CREATE INDEX idx_orders_status_user
ON orders (status, user_id);
Теперь запрос:
SELECT user_id, status
FROM orders
WHERE status = 'pending';
Выполняется полностью из индекса — минимум I/O, максимум скорости.
В PostgreSQL это видно как Index Only Scan в плане:
EXPLAIN ANALYZE SELECT ...
Работает только если строки помечены all-visible (visibility map). В MySQL аналог — Using index, в SQL Server — INCLUDE в индексе.
🔥 Не забывайте: больше индексов = больше места и медленнее вставки/обновления.
➡️ SQL Ready | #советВ этой шпаргалке — функции PostGIS для пространственного анализа: вычисление расстояний и площадей, определение пересечений и вложенности геометрий, создание буферов и экспорт в GeoJSON. Эти инструменты полноценной ГИС-платформой для хранения, обработки и анализа геоданных.
➡️ SQL Ready | #шпора• Как создавать и использовать временные таблицы; • Как ускорить аналитику с помощью индексов; • Почему TEMP TABLE лучше, чем CTE, для сложных цепочек.Смысл временных таблиц не в удобстве, а в контроле. Сами решаете, когда считать, что кешировать и как двигать данные между шагами. ➡️ SQL Ready | #гайд
RETURNING в PostgreSQL позволяет вернуть данные удалённых строк без дополнительного запроса.
Создадим таблицу:
CREATE TABLE sessions (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
user_id BIGINT NOT NULL,
last_active TIMESTAMPTZ NOT NULL
);
Удалим неактивные сессии и сразу получим нужные поля:
DELETE FROM sessions
WHERE last_active < NOW() - INTERVAL '30 days'
RETURNING id, user_id;
Результат:
id | user_id
----+---------
12 | 3
18 | 7
25 | 3
🔥 Такой приём повышает прозрачность операций и упрощает аудит. Работает также с INSERT и UPDATE, что делает SQL-операции атомарными.
➡️ SQL Ready | #практика• Генерируем числа от 1 до 10 с помощью GENERATE_SERIES(); • Объединяем их в пары через CROSS JOIN; • Считаем произведения и форматируем результат в матрицу.Такой приём не просто игра: его используют для генерации тестовых данных, создания временных сеток, расчёта комбинаций или аналитических карт. ➡️ SQL Ready | #задача
SELECT * FROM users WHERE lower(email) = 'admin@example.com';
Даже если email проиндексирован, lower(email) ломает возможность использовать индекс.
Вариант решения - индекс по выражению (expression index):
CREATE INDEX users_lower_email_idx
ON users ((lower(email)));
Проверить можно через план запроса:
EXPLAIN ANALYZE
SELECT * FROM users WHERE lower(email) = 'admin@example.com';
🔥 Теперь в плане Index Scan, а не Full Table Scan.
➡️ SQL Ready | #советВ этой шпаргалке собраны основные команды языка определения данных, используемые для создания, изменения и удаления объектов базы данных: таблиц, столбцов, индексов и других элементов структуры. Они формируют архитектуру базы и позволяют гибко управлять её схемой.
➡️ SQL Ready | #шпора