Ответ
Что хотят услышать интервьюеры
Интервьюеры ожидают увидеть четкое понимание различных типов JOIN в SQL, их применение, а также конкретные примеры различий между left join, right join и inner join. Кандидат должен продемонстрировать способность объяснять, как эти операции работают с данными в реляционных базах данных и в каких ситуациях каждый тип JOIN лучше всего использовать.
Виды JOIN в SQL
INNER JOIN:
- Возвращает только те строки, которые имеют совпадения в обеих таблицах.
- Пример: Если у вас есть таблица
customersи таблицаorders, тоINNER JOINвернет только тех клиентов, которые сделали заказы.
SELECT customers.name, orders.amount FROM customers INNER JOIN orders ON customers.id = orders.customer_id;LEFT JOIN (или LEFT OUTER JOIN):
- Возвращает все строки из левой таблицы и совпадения из правой таблицы. Если совпадения отсутствуют, результат будет содержать NULL для правой таблицы.
- Пример: Запрос покажет всех клиентов, даже тех, кто не сделал заказов.
SELECT customers.name, orders.amount FROM customers LEFT JOIN orders ON customers.id = orders.customer_id;RIGHT JOIN (или RIGHT OUTER JOIN):
- Возвращает все строки из правой таблицы и совпадения из левой таблицы. Если совпадения отсутствуют, результат будет содержать NULL для левой таблицы.
- Пример: Запрос покажет все заказы, включая те, которые не связаны с клиентами.
SELECT customers.name, orders.amount FROM customers RIGHT JOIN orders ON customers.id = orders.customer_id;
Основные отличия:
- INNER JOIN: Возвращает только совпадающие строки.
- LEFT JOIN: Возвращает все строки из левой таблицы и совпадения из правой.
- RIGHT JOIN: Возвращает все строки из правой таблицы и совпадения из левой.
Что могут спросить дальше
- Объяснить использование NULL в LEFT и RIGHT JOIN
- Привести пример с данными
- Показать, как работают JOIN с несколькими таблицами
- Объяснить, когда использовать каждый тип JOIN