ar
Feedback
SQL Ready | Базы Данных

SQL Ready | Базы Данных

الذهاب إلى القناة على Telegram

Авторский канал про Базы Данных и SQL Ресурсы, гайды, задачи, шпаргалки. Информация ежедневно пополняется! Автор: @energy_it РКН: https://clck.ru/3QREBc Реклама на бирже: https://telega.in/c/sql_ready

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام SQL Ready | Базы Данных

تُعد قناة SQL Ready | Базы Данных (@sql_ready) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 15 559 مشتركاً، محتلاً المرتبة 8 396 في فئة التكنولوجيات والتطبيقات والمرتبة 43 154 في منطقة روسيا.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 15 559 مشتركاً.

بحسب آخر البيانات بتاريخ 11 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 56، وفي آخر 24 ساعة بمقدار -9، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 12.41‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 6.30‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 1 931 مشاهدة. وخلال اليوم الأول يجمع عادةً 980 مشاهدة.
  • التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 24.
  • الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل sql, строка, user_id, created_at, desc.

📝 الوصف وسياسة المحتوى

يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
Авторский канал про Базы Данных и SQL Ресурсы, гайды, задачи, шпаргалки. Информация ежедневно пополняется! Автор: @energy_it РКН: https://clck.ru/3QREBc Реклама на бирже: https://telega.in/c/sql_ready

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 12 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

15 559
المشتركون
-924 ساعات
+307 أيام
+5630 أيام
أرشيف المشاركات
😎 Kaggle Learn — короткие практические модули с упражнениями и датасетами! Серия коротких и чётких микро-курсов с упором на практику: каждый модуль - это конкретная тема, упражнения и работа с настоящими датасетами прямо в браузере. Подходит для быстрого освоения основ языка, закрепления синтаксиса и понимания, как Python используется в реальных задачах. 📌 Оставляю ссылочку: kaggle.com ➡️ SQL Ready | #сайт

NTILE — разбиение данных на равные группы внутри партиций! Оконные функции полезны не только для топов и агрегатов. Частый аналитический кейс — разложить данные по корзинам одинакового размера: квартилям, децилям, сегментам. Представим таблицу:
users(id, country, revenue)
Нужно разбить пользователей каждой страны на 4 группы по выручке — от меньшей к большей. Решение через NTILE:
SELECT
    id,
    country,
    revenue,
    NTILE(4) OVER (
        PARTITION BY country
        ORDER BY revenue
    ) AS revenue_quartile
FROM users;
NTILE(4) распределяет строки внутри каждой партиции на 4 группы максимально равного размера. ORDER BY определяет, какие значения попадут в «нижние» и «верхние» группы. Результат: quartile = 1 — пользователи с минимальной выручкой, quartile = 4 — пользователи с максимальной выручкой Важно: группы не всегда будут строго одинаковыми по размеру. Если строк не делится нацело, первые группы получат на одну строку больше. Если убрать PARTITION BY:
NTILE(4) OVER (ORDER BY revenue)
Разбиение произойдёт по всей таблице, без учёта страны. Практический кейс — сегментация:
SELECT *
FROM (
    SELECT
        *,
        NTILE(10) OVER (
            PARTITION BY country
            ORDER BY revenue DESC
        ) AS decile
    FROM users
) t
WHERE decile = 1;
Так можно выбрать топ-10% пользователей в каждой стране. NTILE работает построчно и не агрегирует данные — каждая строка сохраняется, а группа добавляется как аналитическая метка. 🔥 Используйте NTILE, когда нужно сегментировать данные внутри группы на равные части без предварительной агрегации. ➡️ SQL Ready | #практика

Бесплатные нейронки, изменившие жизнь: 🤬 Обход GPT, Deepseek, Gemini, Sora - Читать гайд 🎁 Флирт бот, влюбит в тебя любую только он - Узнать название 💪 Помогает накачаться знает ВСЁ о питании - Узнать название 🎁 Решает домашку, по фотке твоего задания - Узнать название 💸 Генерир‌‎ует идеи для заработка, без бюджета - Узнать название 📉 Мониторит сайты и уведомляет о падении цен - Узнать название 📹 Делает тиктоки на сотни тысяч просмотров - Узнать название

👍 SQL Bootcamp — структурированная практика с упором на реальные задачи! Этот репозиторий построен как полноценный тренажёр: реальные схемы данных, последовательные задания и разборы запросов разной сложности. Помогает системно разобраться в работе с базами данных: выборки, сложные JOIN, агрегации, подзапросы, фильтрация, изменение данных и др.
Оставляю ссылочку: GitHub 📱
➡️ SQL Ready | #репозиторий

🖥 Oracle: условная логика и выбор значений! Разбор типовых приёмов классификации данных, обработки NULL, подстановки значени
+4
🖥 Oracle: условная логика и выбор значений! Разбор типовых приёмов классификации данных, обработки NULL, подстановки значений по условиям и вычисления итоговых результатов прямо в запросах. Полезно для отчётов, аналитики, бизнес-логики в SELECT, упрощения WHERE и ORDER BY, а также для написания компактного и читаемого SQL без изменения схемы БД. ➡️ SQL Ready | #шпора

Пачку офферов заказывали? О всех трудоустройствах через ИИ-ассистента Софи ребята узнают от пользователей. И какой же кайф, к
Пачку офферов заказывали? О всех трудоустройствах через ИИ-ассистента Софи ребята узнают от пользователей. И какой же кайф, когда они делятся своими историями. Вот так в чате узнали сразу о трех новых офферах: • Кейс Сергея - 2 недели в Софи и 2 оффера. • Кейс Елены - 1 неделя в Софи и оффер спустя 10 лет перерыва в работе. Елене 52 года. • Кейс Юлии - 1 месяц в Софи, свитчер из финансового аналитика в разработчика SQL. И еще один оффер🎉 Искренние поздравления ребятам и удачи им на новой работе! В следующий раз доступ в Софи откроется 24 февраля. Если хочешь получить 3 дня бесплатного доступа - подписывайся на этот канал, все анонсы будут там.

Одна таблица играет сразу несколько ролей? Иногда данные уже есть в одной таблице, но логически это разные сущности. Классиче
Одна таблица играет сразу несколько ролей? Иногда данные уже есть в одной таблице, но логически это разные сущности. Классический пример, иерархия: сотрудник и его менеджер хранятся в одной таблице employees:
FROM employees e
JOIN employees m
e — это сотрудник, m — это менеджер. Физически это одна и та же таблица, но логически, разные роли:
ON m.id = e.manager_id
Связь читается так, у сотрудника есть manager_id, который указывает на id другого сотрудника. 🔥 Такой приём используется не только для менеджеров. Категории и родительские категории, комментарии и ответы, версии сущностей, связи предыдущий / следующий, графы, цепочки состояний и др. ➡️ SQL Ready | #совет

Что же выведет консоль?
Anonymous voting

photo content

🖥 Стажировки и вакансии для SQL разработчиков и администраторов. - Вакансии которых нет на джоб-агрегаторах - Только прямые
🖥 Стажировки и вакансии для SQL разработчиков и администраторов. - Вакансии которых нет на джоб-агрегаторах - Только прямые контакты HR в Telegram 👉 @jobs_sql 🤖 ML & DS 👩‍💻 DevOps 👨‍✈️ ИБ & OSINT 👣 Go 👩‍💻 Mobile 👩‍💻 C# 👩‍💻 Node.js 👩‍💻 Python 🔎 QA 👩‍💻 Java 👩‍💻 UX/UI 👩‍💻 Frontend 🖼️ PHP 📋 Analyst 💼 1C 🖥 SQL 👩‍💻 IT HR Пока другие листают джоб-сайты — ты уже пишешь HR в Telegram.

😎 На Хабре вышла полезнейшая статья про репликацию в 1С и реальные нагрузки на СУБД! В этой статье: • Разбирается, как вынес
😎 На Хабре вышла полезнейшая статья про репликацию в 1С и реальные нагрузки на СУБД! В этой статье: • Разбирается, как вынести тяжёлые отчёты 1С с мастер-базы на реплику; • Показывается настройка репликации PostgreSQL/Tantor DB под реальные сценарии 1С; • Анализируются узкие места, задержки репликации и влияние отчётных запросов; • Даются результаты нагрузочного тестирования и выводы, которые можно применить в системах.
🔊 Продолжайте читать на Habr!
➡️ SQL Ready | #статья

ORDER BY в подзапросах: почему порядок не гарантируется! ORDER BY управляет порядком строк только в финальном результате запроса. В подзапросах и CTE он не гарантирует порядок строк, если не используется вместе с ограничением количества возвращаемых данных. Причина в том, что оптимизатор может свободно менять план выполнения, пока итоговый результат формально остаётся корректным. Таблица событий:
events(id, user_id, created_at)
Попытка взять последние события через подзапрос:
SELECT *
FROM (
    SELECT *
    FROM events
    ORDER BY created_at DESC
) t;
Несмотря на явный ORDER BY внутри подзапроса, внешний запрос не содержит сортировки. Это означает, что порядок строк на выходе не определён, и СУБД имеет право проигнорировать внутреннюю сортировку как не влияющую на результат. Корректный вариант — сортировать во внешнем запросе:
SELECT *
FROM events
ORDER BY created_at DESC;
Именно этот ORDER BY гарантирует порядок строк, который получит клиент или приложение. Когда ORDER BY в подзапросе имеет смысл — он становится значимым только вместе с ограничением:
SELECT *
FROM (
    SELECT *
    FROM events
    ORDER BY created_at DESC
    LIMIT 10
) t
ORDER BY created_at DESC;
В этом случае сортировка в подзапросе используется для выбора нужных строк, а не для их отображения. Внутренний ORDER BY определяет, какие именно 10 строк попадут в подзапрос, а внешний ORDER BY задаёт порядок финального результата. Аналогичный принцип работает с оконными функциями:
SELECT id, user_id, created_at
FROM (
    SELECT
        id,
        user_id,
        created_at,
        ROW_NUMBER() OVER (
            PARTITION BY user_id
            ORDER BY created_at DESC
        ) AS rn
    FROM events
) s
WHERE rn = 1;
Здесь ORDER BY влияет на вычисление ROW_NUMBER, то есть на логику нумерации строк внутри окна, но не определяет порядок вывода строк в результирующем наборе. 🔥 ORDER BY — это про порядок выдачи результата, а не про порядок хранения данных. Без внешнего ORDER BY СУБД не обязана возвращать строки в каком-либо определённом порядке. ➡️ SQL Ready | #практика

Все надоело и пропал интерес, чувствуешь себя амебой и хочется только залипать в телефоне. Бывает? Homo Manifestans — канал д
Все надоело и пропал интерес, чувствуешь себя амебой и хочется только залипать в телефоне. Бывает? Homo Manifestans — канал для айтишников, у которых периодически опускаются руки и отключается мозг, ибо переработки и постоянная тревожность не приводят к другим исходам 🤗 ✓ Как научиться отвлекаться от работы и отдыхать? ✓ Как совместить кучу рабочих задач и время с семьей? ✓ Как справиться с прокрастинацией? ✓ Как не растерять запал, даже если начальник и коллеги 💩 и кажется, что ничего не выходит? Подписывайтесь на канал @vadimpetrovpsi и научитесь работать без упахивания, выгорания и ущерба для личной жизни! Псс. Заходите в закреп — там много полезного, и даже бесплатный мини-курс по выходу из апатии: 👉 https://t.me/+1JwcbmRaKrFlZmQy

📂 Напоминалка по шардингу баз данных! Например, шардинг позволяет масштабировать базу данных, распределяя данные по нескольк
📂 Напоминалка по шардингу баз данных! Например, шардинг позволяет масштабировать базу данных, распределяя данные по нескольким серверам, а правильно выбранный ключ шарда напрямую влияет на производительность и равномерность нагрузки. На картинке — основные принципы шардинга баз данных, которые стоит держать под рукой. Сохрани, чтобы не забыть! ➡️ SQL Ready | #ресурс

Частая проблема в аналитике и BI - таблицы с десятками колонок? Пока колонок три это может быть терпимо. Когда их становится
Частая проблема в аналитике и BI - таблицы с десятками колонок? Пока колонок три это может быть терпимо. Когда их становится двадцать и больше, запросы, джоины и графики начинают разваливаться. UNPIVOT позволяет превратить колонки в строки на уровне SQL, без переписывания данных и логики приложения (синтаксис зависит от СУБД):
UNPIVOT (value FOR metric IN (views, clicks))
На выходе получается универсальная структура metric / value, которая хорошо ложится в агрегации, фильтры и визуализации BI. Полезно, когда нужно сравнивать метрики между собой или передавать данные в BI без кастомной логики:
WHERE metric IN ('views', 'orders')
🔥 Один запрос - десятки метрик и минимум изменений при росте отчёта (новые метрики просто добавляются в список UNPIVOT). ➡️ SQL Ready | #совет

☕️ PGExercises — тренажер с различными задачами для обучения! Если хочешь не просто учить синтаксис, а писать реальные запросы и практиковаться. Это отличный способ закрепить знания по выборкам, фильтрации, сортировке, условиям и множеству других тем, особенно если готовишься к собесам. 📌 Оставляю ссылочку: pgexercises.com ➡️ SQL Ready | #ресурс

LATERAL — коррелированные подзапросы! Часто бывает нужно для каждой строки основной таблицы взять одну лучшую связанную строк
LATERAL — коррелированные подзапросы! Часто бывает нужно для каждой строки основной таблицы взять одну лучшую связанную строку - последнюю, первую, максимальную, минимальную, валидную. Обычно это делают через оконки, CTE или GROUP BY + JOIN, что сложно читать и часто ломается при расширении логики:
LEFT JOIN LATERAL (...)
Выполняет подзапрос для каждой строки слева, подставляя её значения.
ORDER BY created_at DESC
LIMIT 1
Гарантирует, что ты берёшь именно нужную запись:
ON true
Потому что связь уже внутри подзапроса, JOIN тут формальность. 🔥 Это отличный инструмент, когда нужна одна зависимая строка на родителя ➡️ SQL Ready | #совет

WHERE vs HAVING — фильтрация строк и фильтрация групп! В SQL иногда путают WHERE и HAVING, потому что внешне они решают похожую задачу — отфильтровать результат. На практике это два разных этапа выполнения запроса с разной семантикой. Представим таблицу заказов:
orders(id, customer_id, amount)
Нужно выбрать заказы дороже 100. Корректный и очевидный вариант:
SELECT *
FROM orders
WHERE amount > 100;
WHERE применяется до агрегации и фильтрует отдельные строки исходной таблицы. Теперь другая задача: найти клиентов, у которых сумма всех заказов больше 1000. Интуитивная, но неверная попытка:
SELECT customer_id, SUM(amount) AS total_amount
FROM orders
WHERE SUM(amount) > 1000
GROUP BY customer_id;
Этот запрос некорректен: агрегатные функции не могут использоваться в WHERE, потому что на момент применения WHERE агрегатов ещё не существует. Правильный вариант — HAVING:
SELECT customer_id, SUM(amount) AS total_amount
FROM orders
GROUP BY customer_id
HAVING SUM(amount) > 1000;
HAVING применяется после GROUP BY и фильтрует уже сформированные группы. Важно понимать разницу по этапам: WHERE — фильтрует строки до группировки; GROUP BY — формирует группы; HAVING — фильтрует группы; SELECT — формирует итоговый результат. Частая оптимизационная ошибка — переносить условия из WHERE в HAVING без необходимости:
SELECT customer_id, SUM(amount)
FROM orders
GROUP BY customer_id
HAVING amount > 100;
Такой запрос либо не выполнится, либо будет логически неверным: amount — это поле строки, а HAVING работает с группой. Корректный и оптимальный вариант — комбинировать:
SELECT customer_id, SUM(amount) AS total_amount
FROM orders
WHERE amount > 100
GROUP BY customer_id
HAVING SUM(amount) > 1000;
Здесь: WHERE отсекает мелкие заказы до агрегации (меньше данных); HAVING проверяет условие на уровне группы. 🔥 Используй WHERE для фильтрации строк и HAVING — только для условий на агрегаты и группы. Это влияет не только на корректность, но и на производительность запроса ➡️ SQL Ready | #практика

Изоляция рунета ближе, чем ты думаешь Loading … ██████████████] 99% Роскомнадзору дали карт-бланш на блокировки, а «белые спи
Изоляция рунета ближе, чем ты думаешь
Loading ██████████████] 99%
Роскомнадзору дали карт-бланш на блокировки, а «белые списки» сайтов тестируют уже в десятках регионов. И гайки будут закручиваться только сильнее. Чтобы в одночасье не лишиться доступа к свободному Интернету, просто сохрани Only Hack. Тут профессиональный хакер делится фишками, с которыми доступ к глобальной сети у тебя будет даже в случае ядерного апокалипсиса. Не жди момента «Х». Перестрахуйся подпиской.