Sobes.tech
Назад к вопросам
Junior — Middle
104

В чем различия между операциями INNER JOIN и RIGHT JOIN при соединении таблиц в SQL?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

INNER JOIN и RIGHT JOIN — это операции соединения таблиц в SQL, которые отличаются по способу выбора строк:

  • INNER JOIN возвращает только те строки, у которых есть совпадения в обеих таблицах по условию соединения.

  • RIGHT JOIN возвращает все строки из правой таблицы и соответствующие строки из левой. Если совпадений нет, то поля левой таблицы будут заполнены NULL.

Пример:

-- Таблица A
id | name
---|------
1  | Alice
2  | Bob

-- Таблица B
id | city
---|-------
2  | NY
3  | LA

-- INNER JOIN
SELECT A.name, B.city FROM A INNER JOIN B ON A.id = B.id;
-- Результат:
-- Bob | NY

-- RIGHT JOIN
SELECT A.name, B.city FROM A RIGHT JOIN B ON A.id = B.id;
-- Результат:
-- Bob | NY
-- NULL | LA

Таким образом, INNER JOIN фильтрует только совпадающие записи, а RIGHT JOIN сохраняет все записи из правой таблицы, дополняя их данными из левой, если они есть.