Back to questions
СБЕР
Junior — Middle
103
В чем различия между операциями INNER JOIN и RIGHT JOIN при соединении таблиц в SQL?
Companies where asked
Answer from AI
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 сохраняет все записи из правой таблицы, дополняя их данными из левой, если они есть.