Что такое LEFT JOIN в SQL?

«Что такое LEFT JOIN в SQL?» — вопрос из категории Базы данных и SQL, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

LEFT JOIN — это тип соединения таблиц в SQL, который возвращает все строки из левой (первой) таблицы и соответствующие строки из правой (второй) таблицы. Если соответствие в правой таблице не найдено, результирующие поля из правой таблицы будут содержать NULL.

Пример:

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

Ключевые особенности:

  • Гарантирует наличие всех записей из левой таблицы (users) в результате.
  • Несоответствующие записи из правой таблицы (orders) представлены как NULL.
  • Отличие от INNER JOIN: INNER JOIN возвращает только строки, где есть совпадение в обеих таблицах, тогда как LEFT JOIN включает все строки левой таблицы независимо от наличия совпадения.
  • Практическое применение: Анализ данных, подсчет (например, пользователей с заказами и без), создание отчетов, где важно видеть полный набор данных из одной таблицы.