Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

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

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

Вопрос проверяет понимание логики объединения таблиц и влияния JOIN на результат SQL-запроса.

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

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

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

Разница между INNER JOIN и LEFT JOIN часто становится источником ошибок, если её не понимать.

INNER JOIN

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

SELECT *
FROM users u
INNER JOIN orders o ON u.id = o.user_id;

Если у пользователя нет заказов, он не попадёт в результат.

LEFT JOIN

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

SELECT *
FROM users u
LEFT JOIN orders o ON u.id = o.user_id;

Если заказов нет, поля из таблицы orders будут NULL.

Ключевое отличие

Логика различия проста:

  • INNER JOIN — только пересечение

  • LEFT JOIN — вся левая таблица плюс совпадения

Краткий вывод

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

Уровень

  • Рейтинг:

    5

  • Сложность:

    4

Навыки

  • Postgres

    Postgres

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

#inner

#left

#join

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