Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Postgres: inner, join, outer

Чем INNER JOIN отличается от OUTER JOIN?

Вопрос проверяет понимание того, какие данные попадают в результат SQL-запроса при разных типах объединений.

Короткий ответ

INNER JOIN возвращает только совпадающие строки из обеих таблиц.
OUTER JOIN включает строки без совпадений.
OUTER JOIN бывает левым, правым и полным.
Выбор JOIN влияет на количество строк в результате.
Это важно при работе с необязательными связями.

Длинный ответ

Разница между INNER и OUTER JOIN заключается в том, что делать со строками без пары.

INNER JOIN

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

Пример:

SELECT users.name, orders.id
FROM users
INNER JOIN orders ON users.id = orders.user_id;

Результат:

  • Пользователи без заказов не попадут в выборку

OUTER JOIN

Определение:
OUTER JOIN возвращает строки даже без совпадений.

Существует три вида:

  1. LEFT OUTER JOIN

  2. RIGHT OUTER JOIN

  3. FULL OUTER JOIN

Пример:

SELECT users.name, orders.id
FROM users
LEFT OUTER JOIN orders ON users.id = orders.user_id;

FULL OUTER JOIN

Особенности:

  • Возвращает все строки из обеих таблиц

  • Несовпадения заполняются NULL

  • Используется реже

Когда что выбирать

  • INNER JOIN — нужны только связанные данные

  • OUTER JOIN — важны все записи, даже без связей

Вывод:
Используй INNER JOIN, если данные должны существовать в обеих таблицах. OUTER JOIN нужен, когда отсутствие связи тоже имеет значение.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    5

  • Сложность:

    5

Навыки

  • Postgres

    Postgres

Ключевые слова

#inner

#join

#outer

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.