📌 Какие есть виды join?



💬 Спрашивают в 19 % собеседований



В реляционных базах данных SQL используется несколько видов операций JOIN для объединения строк из двух или более таблиц на основе связанных столбцов. Каждая из этих операций предназначена для определенных сценариев. Основные виды JOIN включают:



1️⃣ INNER JOIN



INNER JOIN возвращает строки, которые имеют совпадающие значения в обеих таблицах. Это наиболее часто используемый тип JOIN.



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



2️⃣ LEFT (OUTER) JOIN



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



Использование: Когда необходимо получить все данные из одной таблицы и только соответствующие данные из другой.



3️⃣ RIGHT (OUTER) JOIN



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



Использование: Когда необходимо получить все данные из правой таблицы и только соответствующие данные из левой.



4️⃣ FULL (OUTER) JOIN



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



Использование: Для получения всех данных из обеих таблиц, независимо от совпадений.



5️⃣ CROSS JOIN



CROSS JOIN возвращает декартово произведение двух таблиц, то есть каждая строка из первой таблицы соединяется с каждой строкой из второй таблицы.



Использование: Когда требуется комбинировать все строки из двух таблиц без учета связи.



6️⃣ SELF JOIN



SELF JOIN это особый случай JOIN, где таблица соединяется сама с собой. Обычно используется с псевдонимами таблиц для различения различных экземпляров одной и той же таблицы.



Использование: Для сравнения строк внутри одной таблицы.



🤔 Примеры использования



INNER JOIN: Для получения списка студентов и их курсов.



LEFT JOIN: Для получения всех сотрудников и их проектов, даже если у сотрудника нет проекта.



RIGHT JOIN: Для получения всех проектов и сотрудников, даже если у проекта нет назначенного сотрудника.



FULL JOIN: Для получения полной информации о студентах и курсах, включая тех, кто еще не записан на курс или курсы, на которые еще никто не записан.



CROSS JOIN: Для создания всех возможных комбинаций продуктов и категорий.



SELF JOIN: Для нахождения пар сотрудников из одной таблицы с одинаковыми менеджерами.



🤔 Краткий ответ



Основные виды JOIN в SQL включают INNER JOIN (возвращает совпадающие строки), LEFT JOIN (все строки из левой таблицы и совпадающие строки из правой), RIGHT JOIN (все строки из правой таблицы и совпадающие строки из левой), FULL JOIN (все строки при наличии совпадений в одной из таблиц), CROSS JOIN (декартово произведение двух таблиц) и SELF JOIN (соединение таблицы с самой собой).



🔥 ТОП ВОПРОСОВ С СОБЕСОВ



🔒 База собесов | 🔒 База тестовых