Состав строк определяется условием ON: INNER возвращает совпадения, LEFT/RIGHT сохраняют несовпавшую сторону с NULL, FULL сохраняет обе. CROSS строит декартово произведение.
Полный обзор всех вариантов SQL‑JOIN на примере двух таблиц
Состав строк определяется условием ON: INNER возвращает совпадения, LEFT/RIGHT сохраняют несовпавшую сторону с NULL, FULL сохраняет обе. CROSS строит декартово произведение.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Даны две таблицы — T1 и T2. Необходимо выполнить их соединение при помощи каждого из стандартных типов JOIN (INNER, LEFT, RIGHT, FULL, CROSS и т.д.) и указать, какие строки будут присутствовать в результате каждого объединения.
Ответ
Состав строк определяется условием ON: INNER возвращает совпадения, LEFT/RIGHT сохраняют несовпавшую сторону с NULL, FULL сохраняет обе. CROSS строит декартово произведение.
Для T1.id = T2.id каждая совпавшая пара попадает в INNER. LEFT дополнительно возвращает каждую строку T1 без совпадений с NULL в колонках T2, RIGHT — симметрично, FULL — оба дополнения. Дубликаты ключей увеличивают число пар, а обычное равенство NULL не даёт совпадения. Без содержимого T1/T2 нельзя перечислить конкретные результаты. Self join означает соединение таблицы с самой собой; EXISTS/NOT EXISTS реализуют проверки наличия или отсутствия связи.