SQL Portal | Базы Данных
13.9K subscribers
992 photos
137 videos
51 files
752 links
Присоединяйтесь к нашему каналу и погрузитесь в мир баз данных

Связь: @devmangx

РКН: https://clck.ru/3H4Wo3
Download Telegram
Cправочник-песочница разработчиков

Здесь вы найдёте понятные уроки по HTML, CSS, JavaScript, Python, SQL и множеству других языков и технологий. Всё можно сразу пощупать вживую редактируй код и смотри результат прямо в браузере 😮

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
sql_nosql.pdf
6.4 MB
Годнота из Linkedin — авторский чит-лист с командами для SQL и для NoSQL.

Красивое, красочное, да еще и с учетом специфики разных систем 👍

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
3
SQL для начинающих

Используйте GROUP BY вместе с COUNT(), чтобы узнать, сколько записей относится к каждой группе.

Например, можно посчитать количество клиентов в каждом регионе:
SELECT State, COUNT(*) AS Total
FROM customers
GROUP BY State;


Такой запрос покажет, сколько клиентов находится в каждом регионе (State).

Где это пригодится?

• анализ количества клиентов по регионам;
• подсчёт заказов по категориям;
• количество сотрудников по отделам;
• построение сводных отчётов.

Комбинация GROUP BY + COUNT() — одна из самых часто используемых конструкций в SQL для аналитики и формирования отчётов.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8
PostgreSQL для бэкендера: 10 фич, которыми мало пользуются, а зря

Автор показывает, что современные версии PostgreSQL способны решать множество задач, которые разработчики часто перекладывают на приложение или дополнительные сервисы.

Использование встроенных возможностей базы данных делает архитектуру проще, уменьшает количество кода и зачастую повышает производительность

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Совет по SQL для начинающих

Не используйте SELECT * в реальных проектах!

Вместо этого явно указывайте только те столбцы, которые действительно нужны:

SELECT CustomerName, OrderDate, Amount
FROM Orders
WHERE OrderDate >= '2026-01-01';


Почему это лучше?

• Запросы выполняются быстрее — извлекаются только нужные данные.
• Снижается нагрузка на базу данных и сеть.
• Код становится более понятным и удобным для сопровождения.
• Такой подход считается хорошей практикой и используется в профессиональной разработке.

Использование SELECT * допустимо при быстром исследовании данных, но в production-коде лучше всегда перечислять необходимые столбцы явно.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Шпаргалка по SQL-функциям

🔸Агрегатные функции (COUNT, SUM, AVG, MIN, MAX),
🔸оконные функции (ROW_NUMBER, RANK, LAG, LEAD),
🔸строковые функции (LOWER, SUBSTRING, CONCAT),
🔸работа с датами (NOW, DATE_PART, TRUNC),
🔸управление потоком (CASE, COALESCE),
🔸фильтры (IN, LIKE),
🔸математика (ROUND, MOD).

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Вышел AI-инструмент, который позволяет общаться с базами данных на обычном языке

→ Загружаешь URL своей базы
→ Задаёшь любой вопрос
→ Получаешь SQL-запрос, результаты и пояснения

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍1
PostgreSQL 19 получил поддержку графовых запросов

В PostgreSQL 19 появилась возможность выполнять графовые запросы, позволяющие описывать связи между данными как последовательность отношений, а не строить длинные цепочки JOIN.

Вместо множества соединений таблиц можно описать путь через данные, например:
Клиент → купил → товар ← купил ← похожий клиент → подписан на → бренд


Такой подход делает сложные запросы более понятными и приближает PostgreSQL к возможностям специализированных графовых СУБД.

Где это может пригодиться?

Рекомендательные системы — поиск пользователей с похожими интересами и рекомендация товаров.
Контроль доступа — анализ цепочек ролей, групп и разрешений.
Выявление мошенничества — поиск подозрительных связей между пользователями, устройствами, платежами и аккаунтами.
Графы знаний (Knowledge Graphs) — моделирование сложных взаимосвязей между сущностями.
AI и LLM — предоставление языковым моделям дополнительного контекста за счёт анализа связанных данных.

Появление графовых запросов — один из самых интересных шагов в развитии PostgreSQL. Теперь многие задачи, которые раньше требовали использования отдельной графовой базы данных, можно будет решать непосредственно в PostgreSQL.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
В копилку тренажёров: годный онлайн-тренажёр для SQL-запросов. Простой интерфейс, все задачи бесплатные, есть теоретические разделы, регистрация по желанию

Ещё и на русском, забираем 😋

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
SQL JOIN простым языком

Представьте, что вам объясняет старший коллега.

INNER JOIN — возвращает только совпадающие записи из обеих таблиц. Это самый простой и безопасный вариант соединения.

LEFT JOIN — возвращает все записи из левой таблицы и совпадающие записи из правой.

Если совпадений нет, данные из правой таблицы будут иметь значение NULL.

LEFT JOIN особенно полезен при построении отчётов, когда нужно сохранить все записи из основной таблицы, даже если связанные данные отсутствуют.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Платформа для практики программирования, более 7000 упражнений

Каждый язык представлен целой дорожкой с задачами, которые помогут разобраться во всех тонкостях шаг за шагом.

А если застрял, можно получить обратную связь от опытных менторов — не всегда сразу, но всегда по делу ✌️

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
3🤯1
Gridex - современная AI-native IDE для работы с базами данных

Поддерживает PostgreSQL, MySQL, SQLite, Redis, MongoDB, SQL Server и ClickHouse, включает встроенный AI-чат (Claude, GPT, Gemini, Ollama), MCP-сервер для AI-агентов, ER-диаграммы, редактор запросов и инструменты анализа схем.

Работает нативно на macOS, Windows и Linux - без Electron и Java. Интересная альтернатива TablePlus, DBeaver и DataGrip для тех, кто активно использует SQL и AI в ежедневной работе.

https://github.com/gridex/gridex

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍1
Запуск open-source платформы PostgreSQL в Kubernetes с использованием copy-on-write для ветвления данных объёмом в терабайты за считанные секунды и автоматической гибернацией при простое для экономии ресурсов — подходит для компаний, которые строят внутренние базы данных или быстро поднимают окружения для разработки и тестирования.

Xata — это open-source облачная платформа PostgreSQL, которая умеет одновременно управлять большим количеством инстансов Postgres в Kubernetes. Ключевые возможности: создание веток данных объёмом в терабайты за секунды и автоматическое масштабирование до нуля при простое с последующим пробуждением при новых подключениях.

На уровне инфраструктуры используется CloudNativePG для управления и обслуживания Postgres и OpenEBS для хранения, а на верхнем уровне доступны встроенные SQL-шлюз, управление ветками, REST API и CLI. Компании могут использовать её для построения внутренних платформ баз данных или быстро выделять отдельную копию данных для каждого разработчика и каждого тестового запуска с последующей автоматической гибернацией для экономии ресурсов и затрат.

100% опенсорс

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
SQL-совет, который избавит начинающих от множества ошибок

Многие новички путают WHERE и HAVING.
Запомните простое правило:

WHERE фильтрует отдельные строки.
HAVING фильтрует уже сгруппированные результаты.

Пример
WHERE salary > 50000


Отбирает строки до выполнения группировки.
HAVING COUNT(*) > 5


Отбирает группы после выполнения GROUP BY.
Запомните порядок выполнения SQL-запроса
WHERE → GROUP BY → HAVING


Или проще:
WHEREсначала;
GROUP BYгруппировка;
HAVINGпосле группировки.

Если SQL кажется сложным, проблема чаще всего не в самом запросе, а в непонимании порядка его выполнения.

Освойте этот принцип один раз — и работа с JOIN, агрегатными функциями и аналитическими отчётами станет намного понятнее.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
PortSwigger выкатили огромную базу знаний по веб-безопасности

Не просто статьи, а полноценный хаб по уязвимостям: XSS, SQL-инъекции, CSRF, баги в аутентификации, API и многое другое. Всё удобно разложено по темам и уровням сложности

Плюс к каждой теме идут практические лаборатории, где можно на практике разобраться, как работают уязвимости 🚨

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
4 сайта, которые помогут прокачать SQL через практику

Если обычные упражнения уже наскучили, попробуйте изучать SQL в игровом формате.

SQL Murder Mystery
https://mystery.knightlab.com

Расследуйте убийство, используя SQL-запросы для поиска улик и подозреваемых.

SQLBolt
https://sqlbolt.com

Один из лучших интерактивных курсов для новичков с теорией и практическими заданиями.

SQLZoo
https://sqlzoo.net

Большая коллекция уроков и задач по SQL с проверкой решений прямо в браузере.

Select Star SQL
https://selectstarsql.com

Обучение SQL в формате интерактивной игры с постепенным усложнением заданий.

Лучший способ освоить SQL — как можно больше практиковаться. Попробуйте один из этих сервисов уже сегодня и превратите обучение в игру.
4
5 причин использовать Common Table Expressions (CTE)

CTE (Common Table Expressions) делают сложные SQL-запросы более понятными, удобными в сопровождении и отладке.

1. Разбивают сложную логику на понятные этапы:

Каждому этапу можно дать осмысленное имя, благодаря чему запрос становится гораздо легче читать.

2. Упрощают отладку:

Если в запросе возникла ошибка, каждое CTE можно проверить отдельно, не анализируя весь SQL целиком.

3. Позволяют повторно использовать результат:

Описав CTE один раз, вы можете обращаться к нему дальше в запросе, не дублируя одну и ту же логику.

4. Лучше подходят для сложных запросов:

По мере роста логики несколько CTE гораздо легче поддерживать, чем один огромный SQL-запрос с множеством вложенных подзапросов.

5. Делают запросы более естественными для чтения:

Каждый CTE представляет собой отдельный логический шаг, поэтому запрос читается примерно так же, как если бы вы объясняли решение другому человеку. Это значительно упрощает написание, ревью и сопровождение SQL-кода.

CTE — один из самых полезных инструментов SQL. Освоив их, вы сможете писать более читаемые, структурированные и поддерживаемые запросы.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2
SQL-совет: ORDER BY по нескольким столбцам

При использовании ORDER BY с несколькими столбцами база данных сначала сортирует весь результат по первому указанному столбцу (в данном примере — sales).

В результате образуются группы строк с одинаковыми значениями. Например, Mira и Bob оказываются в одной группе, потому что у обоих значение sales равно 12 000.

После этого применяется сортировка по второму столбцу, которая служит для разрешения совпадений внутри каждой такой группы.

Поскольку второй столбец — age, а сортировка выполняется по возрастанию (ASC), сначала будет выведена Mira (30 лет), а затем Bob.

Тот же принцип применяется ко всем строкам, у которых совпадают значения первого столбца сортировки.

Что если совпадают значения и во втором столбце? Если одинаковыми оказываются значения и второго столбца, всё зависит от конкретной СУБД. Некоторые базы данных, особенно при работе с небольшими наборами данных, могут сохранить порядок вставки записей как дополнительный критерий сортировки.

Однако в большинстве случаев, особенно при работе с большими и сложными таблицами, порядок строк с полностью одинаковыми значениями сортируемых столбцов не гарантируется и может быть произвольным.

Совет: если вам важен полностью предсказуемый порядок результатов, всегда добавляйте в ORDER BY дополнительный столбец с уникальными значениями (например, id). Это обеспечит стабильную и воспроизводимую сортировку.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2
Настоящая библия разработчика «Codecademy Cheatsheets»

Самая большая библиотека шпаргалок что я когда либо встречал — PDF и онлайн чек-листы по Python, JS, SQL, Bash, DevOps, ML, security и множеству других тем

Ваш помощник на собеседованиях или при кодинге. За такое можно и лайк поставить ❤️

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74
SQL-совет: функция NULLIF()

Функция NULLIF() сравнивает два выражения.
Если они равны, функция возвращает NULL.
Если не равны, возвращается первое выражение.

Пример
SELECT NULLIF(10, 10);


Результат:
NULL


Поскольку оба значения одинаковые, NULLIF() возвращает NULL.

Функция особенно полезна, когда нужно избежать ошибки деления на ноль или заменить определённое значение на NULL для дальнейшей обработки.

👉 @SQLPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42