Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Postgres: sql, join, set, math, db

Расскажи про различия JOIN на уровне множеств

Вопрос проверяет понимание теории множеств, лежащей в основе операций JOIN.

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

JOIN-операции можно представить как:

  • INNER JOIN = пересечение множеств

  • LEFT JOIN = левое множество + пересечение

  • FULL JOIN = объединение множеств

  • CROSS JOIN = декартово произведение

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

Теория множеств для JOIN:

  1. INNER JOIN

    • Аналог пересечения множеств (A ∩ B)

    • Только общие элементы

  2. LEFT JOIN

    • Все элементы левого множества (A)

    • Совпадающие элементы правого (B)

    • NULL для несовпадающих правых

  3. FULL JOIN

    • Объединение множеств (A ∪ B)

    • NULL для несовпадающих частей

  4. CROSS JOIN

    • Декартово произведение (A × B)

    • Каждый элемент A с каждым B

Визуализация:

A = {1,2,3}, B = {3,4,5}
INNER: {3}
LEFT: {1,2,3} (5→NULL)
FULL: {1,2,3,4,5} (4,5→NULL слева)
CROSS: {(1,3),(1,4)...(3,5)}

Уровень

  • Рейтинг:

    1

  • Сложность:

    8

Навыки

  • Postgres

    Postgres

  • Math

    Math

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

#sql

#join

#set

#math

#db

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