Junior
63
questionbank

Какие существуют виды JOIN в SQL?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

В SQL существует несколько видов JOIN:

  • INNER JOIN (или просто JOIN): Возвращает только те строки, для которых есть совпадения в обеих таблицах.

    sql
  • LEFT JOIN (или LEFT OUTER JOIN): Возвращает все строки из левой таблицы и совпадающие строки из правой таблицы. Если совпадений в правой таблице нет, для столбцов из нее возвращается NULL.

    sql
  • RIGHT JOIN (или RIGHT OUTER JOIN): Возвращает все строки из правой таблицы и совпадающие строки из левой таблицы. Если совпадений в левой таблице нет, для столбцов из нее возвращается NULL.

    sql
  • FULL JOIN (или FULL OUTER JOIN): Возвращает все строки из обеих таблиц. Если совпадений нет, для столбцов из отсутствующей таблицы возвращается NULL.

    sql
  • CROSS JOIN: Возвращает декартово произведение строк из обеих таблиц. Каждая строка из первой таблицы объединяется с каждой строкой из второй таблицы. Условие ON не требуется.

    sql

Для наглядности можно представить их так:

JOIN TypeDescription
INNER JOINОбщие строки из обеих таблиц
LEFT JOINВсе строки из левой таблицы + совпадающие из правой
RIGHT JOINВсе строки из правой таблицы + совпадающие из левой
FULL JOINВсе строки из обеих таблиц (с NULL там, где нет совпадений)
CROSS JOINДекартово произведение (все комбинации строк)