SQL Portal | Базы Данных
Присоединяйтесь к нашему каналу и погрузитесь в мир баз данных Связь: @devmangx РКН: https://clck.ru/3H4Wo3
Больше📈 Аналитический обзор Telegram-канала SQL Portal | Базы Данных
Канал SQL Portal | Базы Данных (@sqlportal) является активным участником. Сейчас сообщество объединяет 13 952 подписчиков, занимая 9 090 место в категории Технологии и приложения и 47 104 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 13 952 подписчиков.
Согласно последним данным от 27 июля, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -121, а за последние 24 часа — -6, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 10.62%. В первые 24 часа после публикации контент обычно набирает 5.11% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 1 482 просмотров. В течение первых суток публикация набирает 714 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 5.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как строка, sql, индекс, postgres, колонка.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Присоединяйтесь к нашему каналу и погрузитесь в мир баз данных
Связь: @devmangx
РКН: https://clck.ru/3H4Wo3”
Благодаря высокой частоте обновлений (последние данные получены 28 июля, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
INSERT INTO ... SELECT.
Но главный урок оказался вовсе не в синтаксисе SQL.
Я столкнулся с классической ошибкой новичков. Исходная таблица использовала стиль именования PascalCase (TransactionAmount), а новую таблицу я создал в snake_case (transaction_amount).
Из-за этого мои запросы постоянно выдавали ошибки.
В итоге я понял важное правило: в операторе SELECT всегда нужно обращаться к именам столбцов именно так, как они называются в исходной таблице, независимо от того, как эти столбцы названы в таблице назначения.
👉 @SQLPortalapple banana cherryвы можете получить:
Apple Banana apple bananaХотя слова одинаковые, порядок отличается. Почему так происходит? Некоторые базы данных рассматривают прописные и строчные буквы как разные символы при сортировке, поэтому слова с заглавной буквы могут отображаться раньше слов со строчной. Как отключить чувствительность к регистру? В SQLite для этого можно использовать
COLLATE NOCASE:
SELECT *
FROM users
ORDER BY name COLLATE NOCASE;
Так SQL будет сортировать значения без учёта регистра, не изменяя сами данные.
Если результаты ORDER BY выглядят странно, первым делом проверьте настройки collation — именно они часто определяют, как база данных сравнивает и сортирует текст.
👉 @SQLPortalSELECT NULLIF(10, 10);
Результат:
NULLПоскольку оба значения одинаковые,
NULLIF() возвращает NULL.
Функция особенно полезна, когда нужно избежать ошибки деления на ноль или заменить определённое значение на NULL для дальнейшей обработки.
👉 @SQLPortalORDER BY с несколькими столбцами база данных сначала сортирует весь результат по первому указанному столбцу (в данном примере — sales).
В результате образуются группы строк с одинаковыми значениями. Например, Mira и Bob оказываются в одной группе, потому что у обоих значение sales равно 12 000.
После этого применяется сортировка по второму столбцу, которая служит для разрешения совпадений внутри каждой такой группы.
Поскольку второй столбец — age, а сортировка выполняется по возрастанию (ASC), сначала будет выведена Mira (30 лет), а затем Bob.
Тот же принцип применяется ко всем строкам, у которых совпадают значения первого столбца сортировки.
Что если совпадают значения и во втором столбце? Если одинаковыми оказываются значения и второго столбца, всё зависит от конкретной СУБД. Некоторые базы данных, особенно при работе с небольшими наборами данных, могут сохранить порядок вставки записей как дополнительный критерий сортировки.
Однако в большинстве случаев, особенно при работе с большими и сложными таблицами, порядок строк с полностью одинаковыми значениями сортируемых столбцов не гарантируется и может быть произвольным.
Совет: если вам важен полностью предсказуемый порядок результатов, всегда добавляйте в ORDER BY дополнительный столбец с уникальными значениями (например, id). Это обеспечит стабильную и воспроизводимую сортировку.
👉 @SQLPortalWHERE и HAVING.
Запомните простое правило:
• WHERE фильтрует отдельные строки.
• HAVING фильтрует уже сгруппированные результаты.
Пример
WHERE salary > 50000
Отбирает строки до выполнения группировки.
HAVING COUNT(*) > 5
Отбирает группы после выполнения GROUP BY.
Запомните порядок выполнения SQL-запроса
WHERE → GROUP BY → HAVING
Или проще:
• WHERE — сначала;
• GROUP BY — группировка;
• HAVING — после группировки.
Если SQL кажется сложным, проблема чаще всего не в самом запросе, а в непонимании порядка его выполнения.
Освойте этот принцип один раз — и работа с JOIN, агрегатными функциями и аналитическими отчётами станет намного понятнее.
👉 @SQLPortalINNER JOIN — возвращает только совпадающие записи из обеих таблиц. Это самый простой и безопасный вариант соединения.
• LEFT JOIN — возвращает все записи из левой таблицы и совпадающие записи из правой.
Если совпадений нет, данные из правой таблицы будут иметь значение NULL.
LEFT JOIN особенно полезен при построении отчётов, когда нужно сохранить все записи из основной таблицы, даже если связанные данные отсутствуют.
👉 @SQLPortalJOIN.
Вместо множества соединений таблиц можно описать путь через данные, например:
Клиент → купил → товар ← купил ← похожий клиент → подписан на → брендТакой подход делает сложные запросы более понятными и приближает PostgreSQL к возможностям специализированных графовых СУБД. Где это может пригодиться? • Рекомендательные системы — поиск пользователей с похожими интересами и рекомендация товаров. • Контроль доступа — анализ цепочек ролей, групп и разрешений. • Выявление мошенничества — поиск подозрительных связей между пользователями, устройствами, платежами и аккаунтами. • Графы знаний (Knowledge Graphs) — моделирование сложных взаимосвязей между сущностями. • AI и LLM — предоставление языковым моделям дополнительного контекста за счёт анализа связанных данных. Появление графовых запросов — один из самых интересных шагов в развитии PostgreSQL. Теперь многие задачи, которые раньше требовали использования отдельной графовой базы данных, можно будет решать непосредственно в PostgreSQL. 👉 @SQLPortal
