Совет по PostgreSQL:
Вместо нескольких
Результат:
👉 @SQLPortal
FILTER для нескольких агрегатов за один проходВместо нескольких
CASE WHEN внутри агрегатных функций используйте FILTER:SELECT
COUNT(*) AS total_orders,
COUNT(*) FILTER (WHERE status = 'completed') AS completed,
COUNT(*) FILTER (WHERE status = 'cancelled') AS cancelled
FROM orders;
Результат:
total_orders | completed | cancelled
--------------+-----------+-----------
1523 | 1402 | 121
FILTER позволяет применять собственное условие к каждой агрегатной функции. Так запрос становится компактнее, легче читается и избавляет от множества CASE WHEN.Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3
SQL — это не сложно
Для старта достаточно освоить всего 5 основных запросов. Вот в каком порядке я рекомендую изучать SQL новичкам:
•
•
•
•
•
Освоив эти пять конструкций, вы сможете решать большинство повседневных задач при работе с базами данных.
👉 @SQLPortal
Для старта достаточно освоить всего 5 основных запросов. Вот в каком порядке я рекомендую изучать SQL новичкам:
•
SELECT + FROM + WHERE — выборка и фильтрация данных.•
ORDER BY + LIMIT — сортировка результатов и ограничение количества строк.•
GROUP BY + COUNT() / SUM() — группировка данных и вычисление агрегатов.•
JOIN — объединение данных из нескольких таблиц (именно этот этап вызывает больше всего вопросов).•
CASE WHEN — добавление условной логики прямо в SQL-запросы.Освоив эти пять конструкций, вы сможете решать большинство повседневных задач при работе с базами данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Бесплатные IT книг
На GoalKicker собраны десятки PDF-книг по SQL, PostgreSQL, MySQL, SQL Server, Oracle, SQLite и другим СУБД.
Все книги доступны бесплатно, содержат множество примеров кода и основаны на лучших материалах сообщества Stack Overflow.
👉 @SQLPortal
На GoalKicker собраны десятки PDF-книг по SQL, PostgreSQL, MySQL, SQL Server, Oracle, SQLite и другим СУБД.
Все книги доступны бесплатно, содержат множество примеров кода и основаны на лучших материалах сообщества Stack Overflow.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
История SQLite началась в 2000 году, когда разработчик Д. Ричард Хипп создавал ПО для эсминца ВМС США.
Военным нужна была база данных, способная работать где угодно:
• без сервера
• без интернета
• без администратора
• без настройки
Так появился SQLite.
В отличие от MySQL, PostgreSQL и Oracle, SQLite не запускает отдельный серверный процесс. Вся база данных хранится в одном файле, а приложение работает с ним напрямую.
Никакой установки, конфигурации или сетевых подключений.
Сегодня SQLite используется в миллиардах устройств и приложений:
→ iPhone
→ Android
→ Google Chrome
→ продукты Adobe
→ встраиваемые и авиационные системы
С высокой вероятностью вы уже использовали SQLite сегодня:
- Instagram
- Spotify
- WhatsApp
Самое удивительное — проект по-прежнему поддерживает его создатель, Ричард Хипп.
Без венчурных инвестиций, IPO и продажи компании.
SQLite остаётся одним из самых распространённых программных продуктов в мире, хотя большинство пользователей даже не знают его названия.
👉 @SQLPortal
Военным нужна была база данных, способная работать где угодно:
• без сервера
• без интернета
• без администратора
• без настройки
Так появился SQLite.
В отличие от MySQL, PostgreSQL и Oracle, SQLite не запускает отдельный серверный процесс. Вся база данных хранится в одном файле, а приложение работает с ним напрямую.
Никакой установки, конфигурации или сетевых подключений.
Сегодня SQLite используется в миллиардах устройств и приложений:
→ iPhone
→ Android
→ Google Chrome
→ продукты Adobe
→ встраиваемые и авиационные системы
С высокой вероятностью вы уже использовали SQLite сегодня:
- Spotify
Самое удивительное — проект по-прежнему поддерживает его создатель, Ричард Хипп.
Без венчурных инвестиций, IPO и продажи компании.
SQLite остаётся одним из самых распространённых программных продуктов в мире, хотя большинство пользователей даже не знают его названия.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤2
Шпаргалка по SQL JOIN
Если постоянно путаетесь в
LEFT JOIN: Возвращает все строки из левой таблицы (T1) и совпадающие строки из правой (T2). Если совпадений нет — значения из T2 будут
INNER JOIN: Возвращает только совпадающие записи, присутствующие в обеих таблицах.
RIGHT JOIN: Возвращает все строки из правой таблицы (T2) и совпадающие строки из левой (T1). Если совпадений нет — значения из T1 будут
LEFT JOIN (EXCLUDE T2): Возвращает записи, которые есть только в левой таблице.
UNION ALL (EXCLUDE INNER): Возвращает записи, которые присутствуют только в одной из таблиц, исключая пересечение.
RIGHT JOIN (EXCLUDE T1): Возвращает записи, которые есть только в правой таблице.
FULL OUTER JOIN: Возвращает все записи из обеих таблиц: совпадающие и несовпадающие.
UNION ALL: Альтернатива
👉 @SQLPortal
Если постоянно путаетесь в
JOIN, сохраните эту схему — на ней собраны самые популярные варианты объединения таблиц.LEFT JOIN: Возвращает все строки из левой таблицы (T1) и совпадающие строки из правой (T2). Если совпадений нет — значения из T2 будут
NULL.SELECT *
FROM T1
LEFT JOIN T2
ON T1.NAME = T2.NAME;
INNER JOIN: Возвращает только совпадающие записи, присутствующие в обеих таблицах.
SELECT *
FROM T1
INNER JOIN T2
ON T1.NAME = T2.NAME;
RIGHT JOIN: Возвращает все строки из правой таблицы (T2) и совпадающие строки из левой (T1). Если совпадений нет — значения из T1 будут
NULL.SELECT *
FROM T1
RIGHT JOIN T2
ON T1.NAME = T2.NAME;
LEFT JOIN (EXCLUDE T2): Возвращает записи, которые есть только в левой таблице.
SELECT *
FROM T1
LEFT JOIN T2
ON T1.NAME = T2.NAME
WHERE T2.ID IS NULL;
UNION ALL (EXCLUDE INNER): Возвращает записи, которые присутствуют только в одной из таблиц, исключая пересечение.
SELECT *
FROM T1
LEFT JOIN T2
ON T1.NAME = T2.NAME
WHERE T2.ID IS NULL
UNION ALL
SELECT *
FROM T1
RIGHT JOIN T2
ON T1.NAME = T2.NAME
WHERE T1.ID IS NULL;
RIGHT JOIN (EXCLUDE T1): Возвращает записи, которые есть только в правой таблице.
SELECT *
FROM T1
RIGHT JOIN T2
ON T1.NAME = T2.NAME
WHERE T1.ID IS NULL;
FULL OUTER JOIN: Возвращает все записи из обеих таблиц: совпадающие и несовпадающие.
SELECT *
FROM T1
FULL OUTER JOIN T2
ON T1.NAME = T2.NAME;
UNION ALL: Альтернатива
FULL OUTER JOIN для СУБД, где он не поддерживается (например, MySQL).SELECT *
FROM T1
LEFT JOIN T2
ON T1.NAME = T2.NAME
UNION ALL
SELECT *
FROM T1
RIGHT JOIN T2
ON T1.NAME = T2.NAME
WHERE T1.ID IS NULL;
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
Бесплатные курсы по ИИ Data Science и облачным технологиям
Платформа от IBM предлагает более 100 бесплатных курсов и проектов по искусственному интеллекту, анализу данных, облачным вычислениям и другим современным технологиям👦
👉 @SQLPortal
Платформа от IBM предлагает более 100 бесплатных курсов и проектов по искусственному интеллекту, анализу данных, облачным вычислениям и другим современным технологиям
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Нашли мощную open-source платформу для работы с SQL через ИИ — WrenAI
WrenAI это Generative BI-платформа, которая позволяет задавать вопросы к данным обычным языком. Сервис автоматически генерирует SQL-запросы, строит визуализации и учитывает бизнес-контекст, а не просто угадывает структуру таблиц.
Что умеет:
• Поддерживает более 20 источников данных, включая PostgreSQL, MySQL, ClickHouse, Snowflake, BigQuery и другие.
• Генерирует SQL-запросы по описанию на естественном языке и помогает анализировать данные без ручного написания сложных запросов.
• Использует семантический слой (Semantic Layer), благодаря которому ИИ понимает связи между таблицами и бизнес-логику, значительно снижая вероятность ошибок при генерации SQL.
• Автоматически строит графики, дашборды и отчёты по результатам запросов.
• Поддерживает интеграцию с Claude Code, Cursor и другими AI-агентами.
• Полностью open-source (Apache 2.0) и может быть развёрнут в собственной инфраструктуре.
Если следите за развитием AI + SQL, Text-to-SQL и Generative BI, этот проект определённо стоит добавить в закладки.
https://github.com/Canner/WrenAI
👉 @SQLPortal
WrenAI это Generative BI-платформа, которая позволяет задавать вопросы к данным обычным языком. Сервис автоматически генерирует SQL-запросы, строит визуализации и учитывает бизнес-контекст, а не просто угадывает структуру таблиц.
Что умеет:
• Поддерживает более 20 источников данных, включая PostgreSQL, MySQL, ClickHouse, Snowflake, BigQuery и другие.
• Генерирует SQL-запросы по описанию на естественном языке и помогает анализировать данные без ручного написания сложных запросов.
• Использует семантический слой (Semantic Layer), благодаря которому ИИ понимает связи между таблицами и бизнес-логику, значительно снижая вероятность ошибок при генерации SQL.
• Автоматически строит графики, дашборды и отчёты по результатам запросов.
• Поддерживает интеграцию с Claude Code, Cursor и другими AI-агентами.
• Полностью open-source (Apache 2.0) и может быть развёрнут в собственной инфраструктуре.
Если следите за развитием AI + SQL, Text-to-SQL и Generative BI, этот проект определённо стоит добавить в закладки.
https://github.com/Canner/WrenAI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2
Шпаргалка по проектированию веб систем System Design 101
Подробное руководство по архитектуре веб‑сервисов, которое обязательно стоит сохранить. Это перевод статьи от ByteByteGo опубликованный на Хабре
Сохраняем за лайк❤️
👉 @SQLPortal
Подробное руководство по архитектуре веб‑сервисов, которое обязательно стоит сохранить. Это перевод статьи от ByteByteGo опубликованный на Хабре
Сохраняем за лайк
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
5000+ бесплатных проектов
Python, JavaScript, Go, Rust, Java, C/C++ и другим технологиям для обучения через практику. 270+ тыс. звёзд на GitHub и регулярные обновления.
👉 @SQLPortal
Python, JavaScript, Go, Rust, Java, C/C++ и другим технологиям для обучения через практику. 270+ тыс. звёзд на GitHub и регулярные обновления.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Мощная подборка из 30 статей по системному дизайну
Коротко, по делу, с примерами и кодом. Сокровищница если хочешь прокачать базу или освежить знания.
Забираем в закладки:
👉 @SQLPortal
Коротко, по делу, с примерами и кодом. Сокровищница если хочешь прокачать базу или освежить знания.
Забираем в закладки:
1. Что такое API
2. Что такое вебхуки
3. REST vs GraphQL
4. Что такое API Gateway
5. Балансировщики нагрузки
6. Алгоритмы балансировки нагрузки
7. Прокси vs Обратный прокси
8. Что такое масштабируемость
9. Что такое доступность
10. Как избежать единой точки отказа (SPOF)
11. Объяснение теоремы CAP
12. 15 типов баз данных и когда их использовать
13. 7 ключевых различий между SQL и NoSQL
14. Что такое ACID-транзакции
15. Подробное руководство по индексам в базах данных
16. Шардинг vs Партиционирование
17. Объяснение последовательного хеширования
18. CDC (Change Data Capture)
19. Кэширование
20. Топ-5 стратегий кэширования
21. 7 стратегий вытеснения кэша
22. CDN
23. Алгоритмы ограничения скорости
24. Очереди сообщений
25. Фильтры Блума
26. Идемпотентность в распределённых системах
27. Конкурентность vs Параллелизм
28. Stateful vs Stateless
29. Long Polling vs WebSockets
30. Пакетная (batch) vs потоковая (stream) обработка данных
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Грокаем алгоритмы в «alg0dev»
Нашёл сервис который превращает сложные алгоритмы в наглядное шоу: сортировки, графы и поиск оживают прямо на экране
Каждый шаг здесь визуализирован и синхронизирован с кодом его можно остановить, прокрутить и разобраться, что происходит под капотом.
👉 @SQLPortal
Нашёл сервис который превращает сложные алгоритмы в наглядное шоу: сортировки, графы и поиск оживают прямо на экране
Каждый шаг здесь визуализирован и синхронизирован с кодом его можно остановить, прокрутить и разобраться, что происходит под капотом.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5