SQL: соединения таблиц за 15 минут

Бесплатно31 августа 2026 г.

📝Содержание урока

Задача на 15 минут

Есть две таблицы: orders (заказы) и customers (клиенты). Нужно получить список заказов с именем клиента. Всё, что между этим «нужно» и работающим запросом — четыре вида соединений.

INNER JOIN: совпадения с обеих сторон

Вернёт только заказы, у которых нашёлся клиент. Заказы с удалёнными клиентами исчезнут — часто это и есть первый баг отчёта.

LEFT JOIN: всё слева + совпадения справа

Вернёт все заказы, а там, где клиента нет, подставит NULL. Правило: если «пустые» строки важны — это всегда LEFT JOIN.

Как проверять себя

  • посчитайте количество строк до и после соединения;

  • проверьте, не размножились ли строки (клиент с двумя заказами × две таблицы);

  • если строк стало больше, чем в левой таблице, — где-то соединение «один ко многим».

RIGHT и FULL JOIN встречаются реже: RIGHT читается «наизнанку» и путает, а FULL обычно означает, что стоит перепроверить задачу.

Описание

INNER, LEFT, RIGHT и FULL JOIN на живых примерах: что вернёт каждый, где чаще всего ошибаются и как проверять себя.