me_edu
SQL: запросы с нуляШаг 20 из 31 · 0% пройдено
Объединение таблиц (JOIN) · Объединение таблиц (JOIN)

LEFT JOIN и виды соединений

Шаг 20 из 316 минТеория
Цель

Понять основной механизм темы «LEFT JOIN и виды соединений» без заучивания отдельных терминов.

Как работать

Прочитайте блок один раз целиком, затем вернитесь к схеме или примеру и перескажите идею своими словами.

Критерий

Сформулированное правило, пример применения и одно ограничение метода.

ABYANDТаблица истинностиA BY0 000 101 001 11
Логический вентиль и таблица истинности связывают входы с выходным состоянием.
Опорная идея

Иногда нужны все строки одной таблицы, даже без пары во второй. Для этого есть LEFT JOIN — он берёт все строки левой таблицы, а недостающие данные правой заполняет значением NULL:

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

Теперь в результат попадут и пользователи без заказов — у них в amount будет NULL. Это позволяет, например, найти пользователей, которые ничего не заказали:

SELECT u.name FROM users u LEFT JOIN orders o ON o.user_id = u.id WHERE o.id IS NULL;

Основные виды: • INNER JOIN — только совпадения в обеих таблицах; • LEFT JOIN — все из левой + совпадения из правой; • RIGHT JOIN — все из правой (зеркально); • FULL JOIN — все из обеих.

JOIN-ы можно объединять с GROUP BY: например, посчитать сумму заказов по каждому пользователю — самый частый аналитический запрос.

Назад

Обсуждение

Войдите, чтобы участвовать в обсуждении.

Пока нет сообщений.