Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

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

В чём разница между LEFT JOIN и RIGHT JOIN?

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

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

LEFT JOIN возвращает все строки из левой таблицы и совпавшие строки из правой.
RIGHT JOIN делает то же самое, но наоборот — сохраняет все строки из правой таблицы.
Разница между ними только в том, какая таблица считается основной.
На практике чаще используют LEFT JOIN.
RIGHT JOIN можно заменить LEFT JOIN, поменяв таблицы местами.

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

При объединении таблиц важно понимать, какие строки должны обязательно попасть в результат.

LEFT JOIN

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

Пример:

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

Что произойдёт:

  • Все пользователи будут в результате

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

RIGHT JOIN

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

Пример:

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

Ключевое различие

  1. Какая таблица считается основной

  2. Какие строки гарантированно попадают в результат

Практическое замечание

  • RIGHT JOIN почти не используют

  • Его легко заменить:

-- RIGHT JOIN
A RIGHT JOIN B

-- эквивалент
B LEFT JOIN A

Вывод:
Используй LEFT JOIN как основной инструмент, он проще для чтения и понимания.

  • Аватар

    Python Guru

    Sergey Filichkin

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

Уровень

  • Рейтинг:

    5

  • Сложность:

    4

Навыки

  • Postgres

    Postgres

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

#left

#join

#right

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

  • Аватар

    Python Guru

    Sergey Filichkin

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