SQL Pro
5.08K subscribers
142 photos
2 videos
10 files
127 links
SQL Pro - всё об SQL
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Трюки SQL
3. Видео
4. Тесты
5. Задачи на логику
6. Юмор
Download Telegram
Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем

В столбце 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
Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем. Решение.

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
👍3
Задача на мышление и логику.

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

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

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

Вместо знака вопроса должно стоять число 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.

#логика
Трюк дня. Простые числа

Напишите PostgreSQL-запрос, который возвратит простые числа от 2 до 1000.

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

#tips
Трюк дня. Простые числа. Решение.

Простое число - натуральное (целое положительное) число, имеющее ровно два различных натуральных делителя — единицу и самого себя.

Для начала создадим набор чисел от 2 до 1000 с помощью функции generate_series.

Затем с помощью NOT EXISTS (которое можно, модифицировав, заменить на JOIN) мы соединяем таблицу саму на себя и затем выбираем только те значения, для которых ни одно деление на меньшее число не дает остаток 0.

WITH x AS (
SELECT * FROM generate_series( 2, 1000 ) x
)
SELECT x.x
FROM x
WHERE NOT EXISTS (
SELECT 1 FROM x y
WHERE x.x > y.x AND x.x % y.x = 0
);


#tips
Из-за какого слова в коде MySQL выдаст ошибку?
Anonymous Quiz
10%
INTO
8%
city
31%
key
4%
VALUES
36%
Код не содержит ошибок
11%
Ничего из перечисленного
Трюк дня. Сравнение значений столбцов

Перепишите PostgreSQL запрос так, чтобы не использовать оператор AND.

WITH users (id, surname)
AS (VALUES
(1, 'Powers'),
(2, 'Sierra'),
(3, 'Oushen'))

SELECT id, surname
FROM users
WHERE id = 2 AND surname = 'Sierra';

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

#tips
👎2
Трюк дня. Сравнение значений столбцов. Решение

WITH users (id, surname) 
AS (VALUES
(1, 'Powers'),
(2, 'Sierra'),
(3, 'Oushen'))

SELECT id, surname
FROM users
WHERE (id, surname) = (2,'Sierra');


#tips
🤡4👍1🤣1
Задача на мышление и логику.

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

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

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

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

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

#логика
👍2👎1
👩‍💻 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
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
📊 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
1
Вопрос на SQL собеседовании.

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

Ответ:

0 - это число.

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


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