sqlprofi | Unsorted

Telegram-канал sqlprofi - SQL Pro

4927

SQL Pro - всё об SQL Реклама: @anothertechrock Контент канала: 1. Разбор вопросов с собеседований 2. Трюки SQL 3. Видео 4. Тесты 5. Задачи на логику 6. Юмор

Subscribe to a channel

SQL Pro

❔ Вопрос с собеседования

Как работает SQL-триггер?

Ответ: Когда происходит событие, СУБД автоматически вызывает триггер, который затем выполняет набор операторов SQL, определенных в триггере. Триггеры определяются для каждой таблицы и создаются с помощью оператора CREATE TRIGGER. Они могут запускаться до или после наступления события и выполняться один раз для каждой затронутой строки либо один раз для каждого оператора.

➡️ SQL Pro | #собеседование

Читать полностью…

SQL Pro

Большой тест по SQL для тестировщиков из 44 вопроса - https://qarocks.ru/test_post/big-sql-quiz/

Проходите и пишите, у кого 44 из 44:)

P.S если найдете ошибки в ответах, присылайте - попросим исправить)

Читать полностью…

SQL Pro

Трюк дня. Сравнение с предыдущим. Решение.

Решение: использование DATEDIFF

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

Если сформулировать обычным языком следующий запрос, то окажется, что он выражает следующую идею: нужно выбрать такие идентификаторы, чтобы температура, соответствующая представляемым ими датам, была бы больше, чем температура на «вчерашние» по отношению к ним даты.

SELECT DISTINCT a.Id
FROM Weather a, Weather b
WHERE a.Temperature > b.Temperature
AND DATEDIFF(a.Recorddate, b.Recorddate) = 1

#tips

Читать полностью…

SQL Pro

Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем. Решение.

SELECT
SUBSTRING_INDEX (SUBSTRING_INDEX (fullname, ' ', 1), ' ', -1) AS name,
IF (LENGTH (fullname) - LENGTH (REPLACE (fullname, ' ', '')) > 1,
SUBSTRING_INDEX(SUBSTRING_INDEX (fullname, ' ', 2), ' ', -1), NULL)
AS middlename,
SUBSTRING_INDEX (SUBSTRING_INDEX (fullname, ' ', 3), ' ', -1) AS surname
FROM customers;

#tips

Читать полностью…

SQL Pro

🔥 Для начинающих аналитиков и разработчиков.

Освойте главный инструмент для работы с данными. Курс проведет вас от первых SELECT до оконных функций и сложных соединений.

Формат: 15 коротких уроков + PDF-шпаргалка. Доступ навсегда.

💰 Цена: 6 900 ₽.

🆓 Попробуйте бесплатно: на странице курса есть тариф с вводным уроком и конспектом на 2 дня.

👉 Узнать подробнее и записаться: https://high.skillspace.ru/course/125816/about

Читать полностью…

SQL Pro

Решение сегодняшней задачи на логику и мышление.

Минимальное количество взвешиваний – 3, ведь даже если мы взвесим 2 раза, то как мы узнаем, какая из монет фальшивая? Большую часть монет составляют настоящие, так что 2 монеты с одинаковым весом и будут настоящими, третья с другим весом – фальшивой.

Ответ: 3 взвешивания.

#логика

Читать полностью…

SQL Pro

Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем. Решение.

SELECT
SUBSTRING_INDEX (SUBSTRING_INDEX (fullname, ' ', 1), ' ', -1) AS name,
IF (LENGTH (fullname) - LENGTH (REPLACE (fullname, ' ', '')) > 1,
SUBSTRING_INDEX(SUBSTRING_INDEX (fullname, ' ', 2), ' ', -1), NULL)
AS middlename,
SUBSTRING_INDEX (SUBSTRING_INDEX (fullname, ' ', 3), ' ', -1) AS surname
FROM customers;


#tips

Читать полностью…

SQL Pro

🔥24 июня в 20.00 мск. приглашаем на открытый урок: "Отказоустойчивый и высоко-доступный кластер RabbitMQ"

На вебинаре разберём практические подходы к созданию отказоустойчивой и высоко-доступной очереди сообщений для высоконагруженных систем.

📌 Что будет:
— Запуск и настройка кластера: Quorum Queues и Mirrored Queues (синхронная репликация)
— Синхронизация очередей и обеспечение согласованности
— Dead Letter Queue + правильные настройки durability
— Гарантии доставки для Producer: баланс между надёжностью и производительностью
— Asynchronous cluster-to-cluster message routing: Exchange Federation и Shovels

🎯 После вебинара вы сможете:
— Самостоятельно развернуть отказоустойчивый кластер RabbitMQ
— Настраивать Quorum Queues и Mirrored Queues под разные сценарии
— Правильно работать с Dead Letter Queues и гарантиями доставки
— Организовывать межкластерное взаимодействие сообщений
— Проектировать надёжные асинхронные коммуникации в микросервисной архитектуре

👉 Регистрация открыта: https://vk.cc/cYRCK4

Вебинар приурочен к старту курса «Высоконагруженные системы: архитектура и масштабирование».

🎁При покупке курса вы получите в подарок мини-курс по Kafka, который поможет подготовиться к собеседованию в бигтех

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

SQL Pro

Готов к космическому разгону AI‑продукта? 
Приходи на One Day Offer для Product Analysts! 🚀

20 июня команда GigaChat планирует найти будущего коллегу — продуктового аналитика, который поможет вывести LLM‑платформу на новую орбиту.

Ты будешь:

✔️ анализировать поведение пользователей;  
✔️ проводить A/B‑тесты; 
✔️ создавать дашборды; 
✔️ работать с метриками. 

А ещё ты станешь частью крупнейшего IT‑комьюнити.

Хочешь влиять на продукт для миллионов? Регистрируйся на One Day Offer прямо сейчас!

Читать полностью…

SQL Pro

Ответ на предыдущий вопрос:

Неверное выражение BillingYear в условии WHERE. Несмотря на то, что он определен как алиас в выборке SELECT перед WHERE, логический порядок обработки условий отличается.

Правильный запрос будет выглядеть так:

SELECT Id, YEAR(BillingDate) AS BillingYear
FROM Invoices
WHERE YEAR(BillingDate) >= 2010;


#sql #собеседование

Читать полностью…

SQL Pro

Альтернатива вашим планам на пятничный вечер — 27 марта, при условии, что вы любите базы данных:

✔️ Как не угробить чувствительные данные на DBaaS
✔️ FoundationDB vs Cassandra 5 — битва титанов в Авито
✔️ S3 в Авито: как 100 000+ бакетов не превращаются в хаос

Все это и многое другое — на Avito Database Meetup в московском офисе Avito (или на онлайн-трансляции).
Нашли ссылку

Читать полностью…

SQL Pro

📝 Курс от OTUS: «Администрирование PostgreSQL. Экспертный уровень» — продвинутое погружение в работу с базой данных PostgreSQL в любых средах.

Освойте управление PostgreSQL на экспертном уровне: от настройки локальной инфраструктуры до развёртывания высокодоступных кластеров в облаках и Kubernetes. Научитесь автоматизировать процессы, оптимизировать производительность и экономить ресурсы — без лишних сервисов и избыточных затрат.

🔥 Приглашаем на серию из 2 бесплатных вебинаров курса — для DevOps‑инженеров, SRE, архитекторов данных, администраторов БД и разработчиков, которые хотят выйти на новый уровень владения PostgreSQL. 🔧💾

📅 26 марта в 20:00 МСК: «Путешествие запроса в PostgreSQL: от разбора до исполнения (от parser до executor)»

На вебинаре разберём, как PostgreSQL превращает текст запроса в результат — вскроем «чёрный ящик» и изучим каждый этап:
• От текста к дереву: как работают лексер и парсер, что такое parse tree и query tree, и зачем нужен rule rewriter (на примере того, как VIEW превращается в подзапрос).
• Планировщик изнутри: как оптимизатор строит plan nodes, оценивает стоимость через статистику (pg_statistic, correlation, MCV) и почему иногда ошибается.
• Executor и runtime: как plan tree исполняется итераторной моделью (Volcano model), где живут данные в памяти.
• Как читать EXPLAIN ANALYZE, чтобы видеть реальные узкие места.

Результат: вы поймёте, как именно PostgreSQL обрабатывает запросы, научитесь осознанно оптимизировать производительность — без метода подбора индексов. Уйдёте с чётким алгоритмом анализа и устранения «узких мест».


📅 9 апреля в 20:00 МСК: «PostgreSQL как векторная база данных: ИИ‑поиск без лишних сервисов»

На вебинаре разберём, как использовать PostgreSQL с расширением pgvector для семантического поиска и RAG‑систем — без внедрения отдельной векторной БД.

Программа:
• Работа с pgvector: установка, типы данных, индексы.
• Сравнение PostgreSQL и специализированных векторных БД по скорости и точности.
• Проектирование гибридного поиска (точный + семантический) в рамках одной базы.
• Выбор между индексами IVFFlat и HNSW для своей задачи.
• Примеры RAG‑запросов с комбинацией tsvector и векторного поиска.
• Успешные кейсы использования PostgreSQL для ИИ.

Результат: вы сможете добавить ИИ‑функции в продукт без усложнения инфраструктуры. Уйдёте с готовым планом внедрения векторного поиска на базе PostgreSQL.

🎯 Почему стоит участвовать:
- Получите практические инструменты: разбор реальных кейсов, шаблоны конфигураций, чек‑листы для аудита производительности.
- Изучите современные решения: pg_probackup, Wal‑G, pg_rewind, pgvector.
- Научитесь автоматизировать: используйте Terraform для установки ВМ и Ansible для развёртывания ПО.
- Разберётесь в облаках: отличия GCP, Yandex Cloud, SberCloud, VKCloud и как эффективно работать в каждом.
- Сможете задать вопросы практикующим инженерам и архитекторам PostgreSQL в прямом эфире.
- Примените знания сразу после вебинаров: с готовыми скриптами и инструкциями.

👉 Регистрируйтесь сейчас, а мы напомним о вебинаре накануне. OTUS.RU

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

SQL Pro

🐘 Бесплатная конференция по PostgreSQL — Москва, 19 марта

PG BootCamp Russia 2026 — комьюнити-конференция российского сообщества PostgreSQL с подтвержденным официальным международным статусом.

Мероприятие бесплатное, онлайн+офлайн, ориентировано на администраторов БД, разработчиков, инженеров, аналитиков, архитекторов.

Эксперты из Tantor, Яндекс, СберТех, Тензор, Хи-квадрат, Luxms BI и других компаний выступят по темам, связанным с разработкой, эксплуатацией и взаимодействием PostgreSQL с другими системами.

В предварительной программе:

📎Решение застарелых архитектурных проблем PostgreSQL для современных нагрузок и масштабирования
📎Временные таблицы для Postgres. Почему это важно для платформы 1С и что можно улучшить?
📎Разделение Compute и Storage: архитектурный прорыв для PostgreSQL в облаке
📎Опыт вынесения OLAP-нагрузки на реплику
📎Highload "из ниоткуда": когда проблема не в СУБД, а в клиентской архитектуре
📎Опыт эксплуатации, проблемы и производительность PostgreSQL на Эльбрус, Baikal-S, Loongson, Repka Pi, x86
📎Поиск проблем планирования запросов до их воздействия на производительность
📎Тестирование, баги и уроки работы с патчем 64-битного счетчика транзакций PostgreSQL
📎Работа с логами PostgreSQL
📎…и другие (всего 25 выступлений)


🗓 19 марта
📍 Москва, офлайн + онлайн

➡️ БЕСПЛАТНАЯ РЕГИСТРАЦИЯ

Читать полностью…

SQL Pro

📊 Data Warehouse Analyst: создавайте сквозные аналитические решения и управляйте данными на новом уровне 🚀

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

🎓 Мы подготовили для вас 3 бесплатных вебинара курса «Data Warehouse Analyst» — для системных аналитиков, BI‑аналитиков, аналитиков данных и инженеров данных, которые хотят разобраться в современных подходах к построению хранилищ данных. 🔍

🗓 25 февраля в 20:00 МСК: Как выглядит DWH в реальных компаниях: финтех, e-commerce, маркетплейсы

На вебинаре:
• Примеры архитектур DWH в финтехе, e-commerce и маркетплейсах: источники данных, слои, инструменты
• Ключевые различия в требованиях к данным, скорости обновления и качеству аналитики
• Типовые архитектурные решения и ошибки, с которыми сталкиваются команды на практике

🗓 11 марта в 20:00 МСК: Почему нельзя ограничиваться только Data Vault в архитектуре хранилища данных

Что будет на вебинаре:
• Разбор концепции Data Vault: сильные стороны и типичные сценарии использования
• Практические ограничения Data Vault: сложность аналитических запросов, низкая производительность для отчетности, отсутствие семантики
• Интеграция Data Vault в современную архитектуру: зачем нужны дополнительные слои (Data Mart, семантический слой, BI-оптимизированные модели)

🗓 23 марта в 22:00 МСК: Современный DWH в 2026: какие технологии реально нужны, а какие — хайп

Что разберём:
• Актуальный технологический стек для построения DWH в 2026 году
• Разбор трендов: какие решения оправданы на практике, а какие создают избыточную сложность
• Кейсы внедрения DWH: от теоретических подходов к измеримым результатам

🔥 Количество мест ограничено! Регистрируйтесь сейчас — мы напомним о каждом вебинаре накануне: 👉OTUS.RU

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

SQL Pro

Решение сегодняшней задачи на логику и мышление.

Минимальное количество взвешиваний – 3, ведь даже если мы взвесим 2 раза, то как мы узнаем, какая из монет фальшивая? Большую часть монет составляют настоящие, так что 2 монеты с одинаковым весом и будут настоящими, третья с другим весом – фальшивой.

Ответ: 3 взвешивания.

#логика

Читать полностью…

SQL Pro

SELECT order_id FROM order_table o

JOIN customer c ON o.customer_id = c.customer_id WHERE c.country_code = 'RU'

UNION ALL

SELECT order_id FROM order_detail WHERE product_id IN (SELECT product_id FROM product WHERE category_id = 1);


Схема БД и код для генерации данных находятся в шапке канала

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

Читать полностью…

SQL Pro

5 обязательных книг по SQL

1⃣ “SQL: быстрое погружение”. Автор - Уолтер Шилдс

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

🔴 Скачать


2⃣ “MySQL Cookbook”. Авторы - Света Смирнова, Алкин Тезуйсал

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

🔴 Скачать


3⃣ “SQL Cookbook”. Авторы - Энтони Молинаро, Роберт де Грааф

Сборник рецептов с удобной структурой: постановка задачи, решение с кодом и детальное объяснение. Авторы рассматривают особенности конкретных СУБД: Oracle, DB2, SQL Server, MySQL и PostgreSQL.

🔴 Скачать


4⃣ “Изучаем SQL”. Автор - Алан Болье

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

🔴 Скачать


5⃣ “SQL для чайников”. Автор - Аллен Тейлор

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

🔴 Скачать

Читать полностью…

SQL Pro

Трюк дня. Сравнение с предыдущим

Напишите SQL-запрос, который находит в таблице weather все даты (идентификаторы дат), когда температура была бы выше температуры на предшествующие им даты. То есть, нас интересуют даты, в которые «сегодняшняя» температура выше «вчерашней».

Решение будет вечером.

#tips

Читать полностью…

SQL Pro

Решение сегодняшней задачи на логику и мышление.

Вместо знака вопроса должно стоять число 179. Если двигаться по часовой стрелке начиная с 3, то каждое последующее число равно удвоенному предыдущему, к которому прибавили 1, 3, 5, 7, 9.

3 × 2 + 1 = 7.
7 × 2 + 3 = 17.
17 × 2 + 5 = 39.
39 × 2 + 7 = 85.
85 × 2 + 9 = 179.

#логика

Читать полностью…

SQL Pro

Задача на мышление и логику.

Определите, какое число должно стоять на месте знака вопроса.

Решение будет вечером.

#логика

Читать полностью…

SQL Pro

Задача на мышление и логику.

Дано 12 монет, из которых 11 – настоящие, и только 1 – фальшивая. Фальшивая монета отличается от настоящих по массе. Какое минимальное количество взвешиваний необходимо, чтобы обнаружить фальшивую монету? Для взвешивания используются чашечные весы.

Решение будет вечером.

#логика

Читать полностью…

SQL Pro

Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем

В столбце fullname таблицы customers содержится имя, отчество и фамилия в следующем формате: 'name middlename surname'.

Напишите MySQL-запрос, который извлечет name, middlename и surname в отдельные столбцы. Если middlename не существует, то в результате в middlename должен быть NULL.

Например, из 'Alena Igorevna Petrova' должны получиться 3 столбца:
• name = 'Alena',
• middlename = 'Igorevna',
• surname = 'Petrova'.

А из строки 'Jack Powers' получится следующее:
• name = 'Jack',
• middlename = NULL,
• surname = 'Powers'.

Решение будет вечером.

#tips

Читать полностью…

SQL Pro

Задача. Напишите SQL запрос.

Есть таблица transactions - картинка номер 1 (верхняя)
Где cash_flow — это выручка минус затраты за каждый день.

Нужно написать запрос, чтобы получить нарастающий итог для денежного потока каждый день таким образом, чтобы в конечном итоге получилась таблица в такой форме - картинка номер 2 (нижняя)

Ответ:
SELECT date, cash_flow,
SUM(cash_flow) OVER (ORDER BY date ASC) AS cumulative_cf
FROM transactions;

Читать полностью…

SQL Pro

Вопрос на SQL собеседовании.

Как вы понимаете SELF JOIN?

Ответ:

SELF JOIN используется для соединения таблицы с ней самой.

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

Синтаксис:
SELECT a.column_name, b.column_name
FROM table a, table b
WHERE condition;

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

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


#sql #собеседование

Читать полностью…

SQL Pro

Вопрос на SQL собеседовании.

Что не так с этим запросом? Исправьте его, если нужно.

SELECT Id, YEAR(BillingDate) AS BillingYear 
FROM Invoices
WHERE BillingYear >= 2010;


Ответ будет вечером.

#sql #собеседование

Читать полностью…

SQL Pro

Задача SQL.

Дана таблица PERSONS (Сотрудники) - картинка

Читать полностью…

SQL Pro

Вопрос на SQL собеседовании.

Какой оператор имеет больший приоритет AND или OR (если они используются совместно)?

Ответ:

AND имеет больший приоритет, нежели OR

#sql #собеседование

Читать полностью…

SQL Pro

Вопрос на SQL собеседовании.

Чем NULL отличается от 0

Ответ:

0 - это число.

NULL - это не число, а также NULL не является значением пустой строки. NULL используется для указания того, что данные отсутствуют, неизвестны, неприменимы. NULL не равен ничему, даже другому NULL.


#sql #собеседование

Читать полностью…

SQL Pro

👩‍💻 PostgreSQL давно перестал быть просто хранилищем данных
В высоконагруженных системах он всё чаще становится частью AI-архитектуры — с векторами, семантическим поиском и RAG-паттернами прямо на уровне БД.

На открытом уроке разберём, как PostgreSQL может:
- работать вместе с AI-моделями: хранить эмбеддинги, участвовать в семантическом поиске,
- быть частью RAG-архитектур и выполнять ML-логику внутри базы.
- отдельно обсудим расширения pgvector, pgai и lantern
- обсудим реальные сценарии для production-систем.

Вы увидите где AI в базе данных действительно оправдан, а где создаёт риски по латентности, масштабированию и поддержке.
Разберём архитектурные trade-off’ы, работу с kNN-поиском и подходы к интеграции AI в бизнес-логику через триггеры и функции.

📍Встречаемся 27 января в 20:00 МСК в преддверии старта курса «Highload Architect».

Регистрация открыта: https://vk.cc/cTNmpK

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

SQL Pro

Задача на мышление и логику.

Дано 12 монет, из которых 11 – настоящие, и только 1 – фальшивая. Фальшивая монета отличается от настоящих по массе. Какое минимальное количество взвешиваний необходимо, чтобы обнаружить фальшивую монету? Для взвешивания используются чашечные весы.

Решение будет вечером.

#логика

Читать полностью…
Subscribe to a channel