---
title: JOIN Операторы и операции с таблицами
seo:
  title: JOIN Операторы и операции с таблицами — Data Scientist
  description: "Тема «JOIN Операторы и операции с таблицами» для собеседования Data Scientist. Перечислите типы JOINов, дайте характеристику каждому."
---

[Все темы Data Scientist](/data-scientist)

## <strong>Перечислите типы</strong> <code>JOINов</code><strong>, дайте характеристику каждому.</strong> [#q-14bee738d69b81188f41e82082e45ead]

В SQL существует несколько типов операторов JOIN&#58;

{/* prettier-ignore */}
1. <code>INNER JOIN</code>&#58;

    - Возвращает только те строки, которые имеют совпадения в обоих таблицах по указанным условиям.

    - Если в обеих таблицах нет совпадений, строки не возвращаются.

1. <code>LEFT JOIN</code> <strong>(или</strong> <code>LEFT OUTER JOIN</code><strong>)</strong>&#58;

    - Возвращает все строки из левой таблицы (первой в запросе), а также строки из правой таблицы, которые имеют совпадения с условием JOIN.

    - Если в правой таблице нет совпадений, возвращается NULL для столбцов правой таблицы.

1. <code>RIGHT JOIN</code> <strong>(или</strong> <code>RIGHT OUTER JOIN</code><strong>)</strong>&#58;

    - Возвращает все строки из правой таблицы (второй в запросе), а также строки из левой таблицы, которые имеют совпадения с условием JOIN.

    - Если в левой таблице нет совпадений, возвращается NULL для столбцов левой таблицы.

1. <code>FULL JOIN</code> <strong>(или</strong> <code>FULL OUTER JOIN</code><strong>)</strong>&#58;

    - Возвращает все строки из обеих таблиц, совпадающие и несовпадающие по условию JOIN.

    - Если нет совпадений, возвращаются NULL значения для недостающих столбцов.

1. <code>CROSS JOIN</code>&#58;

    - Возвращает декартово произведение всех строк из обеих таблиц, то есть каждая строка из одной таблицы объединяется со всеми строками из другой таблицы.

:::note[Ссылки для изучения]

1. [Виды JOINов в SQL](https://blog.skillfactory.ru/glossary/join-sql/)
   :::

---

## <strong>В одной таблице 2 строчки, в другой 3, сколько минимум строк будет при иннер и лефт джойне? А сколько максимум вне зависимости от джойна?</strong> [#q-14bee738d69b818a93f1f8b6c4b72cd7]

При выполнении <code>INNER JOIN</code> минимальное количество строк равно 0, если нет совпадений между строками обеих таблиц.

При выполнении <code>LEFT JOIN</code> минимальное количество строк равно количеству строк в левой таблице, т.е. 2 строки, так как левые таблицы строки всегда включаются, даже если нет совпадений.

<strong>Максимум строк</strong> (вне зависимости от типа <code>JOIN</code>)&#58;
2\*3=6.

:::note[Ссылки для изучения]

1. [Виды JOINов в SQL](https://blog.skillfactory.ru/glossary/join-sql/)
   :::
