Вопросы по SQL JOIN на собеседовании: ловушки LEFT JOIN, Anti Join, Self Join | Реальные задачи #2
TechBrothersIT
0:00 / 0:00
Вопросы по SQL JOIN на собеседовании: ловушки LEFT JOIN, Anti Join, Self Join | Реальные задачи #2
32 просмотра · 7 ч назад
TechBrothersIT
105 тыс. подписчиков
32 просмотра · 7 ч назад
Вопросы для собеседования по SQL с примерами запросов и реальными результатами: INNER JOIN, LEFT JOIN и FULL OUTER JOIN, клиенты, которые никогда не делали заказов, почему количество строк увеличивается после объединения, ловушка ON и WHERE, самообъединения для менеджеров, месячная сетка с нулями и объединение платежей, которое завышает выручку.
ВОПРОСЫ ДЛЯ СОБЕСЕДОВАНИЯ В ЭТОМ ВИДЕО
1. Отдел кадров хочет получить список всех отделов с их сотрудниками, включая отдел, в котором никого нет, и сотрудников, которые еще не определились с отделом. В чем разница между INNER JOIN, LEFT JOIN и FULL OUTER JOIN, и какой из них дает такой список?
2. Отдел маркетинга хочет отправить электронные письма клиентам, которые никогда не делали заказов. Как найти их в SQL?
3. Вы объединили 7 клиентов с их заказами и получили 13 строк. Почему количество строк увеличилось, и когда это становится ошибкой?
4. Менеджер хочет получить данные по каждому клиенту вместе с отправленными заказами, если таковые имеются, но ваш запрос LEFT JOIN возвращает только 2 клиента. В чем разница между использованием фильтра ON и WHERE?
5. Отдел кадров запрашивает данные по каждому сотруднику с указанием имени его руководителя, а затем данные о сотрудниках, которые зарабатывают больше своего руководителя. Как правильно составить оба запроса?
6. В ежемесячном отчете о продажах отсутствуют данные за месяцы без продаж по определенной категории, поэтому на графике есть пробелы. Как построить полную таблицу по категориям за месяц, в которой пустые месяцы будут отображаться как 0?
7. Финансовый отдел сообщает, что выручка выросла после объединения заказов и платежей: 4050 вместо 3400. Почему это произошло и как это исправить?
ЧТО ВЫ УЗНАЕТЕ
• ВНУТРЕННЕЕ, ЛЕВОЕ И ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ с подсчетом строк
• Анти-соединение: ЛЕВОЕ СОЕДИНЕНИЕ ... IS NULL против NOT EXISTS
• Веерное соединение «один ко многим»: почему увеличивается количество строк
• ЛЕВОЕ СОЕДИНЕНИЕ: почему фильтр WHERE превращает его во ВНУТРЕННЕЕ СОЕДИНЕНИЕ
• Самосоединение: сотрудник, менеджер и кто зарабатывает больше
• ПЕРЕКРЕСТНОЕ СОЕДИНЕНИЕ календаря для отображения месяцев с нулевыми продажами
• Сценарий: доход завышен из-за разделенной оплаты, исправлено путем агрегирования сначала или EXISTS
РАЗДЕЛЫ
0:00 Введение
0:27 ВНУТРЕННЕЕ, ЛЕВОЕ, ПОЛНОЕ СОЕДИНЕНИЕ
1:35 Клиенты, которые никогда не делали заказов
2:33 Почему увеличилось количество строк
3:34 ON или WHERE?
4:34 Самостоятельное соединение
5:33 Перекрестное соединение для полной сетки
6:36 Доход вырос после соединения
7:43 Итоги
ПРИМЕРЫ ДАННЫХ И SQL
Каждый запрос в этом видео, скрипт с примерами данных и реальный результат каждого запроса находятся в статье блога, так что вы можете скопировать и попрактиковаться:
https://www.techbrothersit.com/2026/1...
СЛЕДУЮЩЕЕ ВИДЕО
Вопросы и ответы по SQL для собеседования №3: GROUP BY и агрегирование
▶ Полный плейлист вопросов и ответов по SQL для собеседования: • SQL Interview Questions and Answers (Real-...
📘 Все 70 вопросов по SQL в блоге: https://www.techbrothersit.com/p/sql-...
🔔 Подпишитесь на канал TechBrothersIT, чтобы получать больше уроков по SQL и инженерии данных.
#SQL #SQLJoins #SQLInterview #DataEngineering #PostgreSQL #InterviewQuestions #TechBrothersIT