📌 Что такое join'ы? 💬 Спрашивают в 25 % собеседованийJOIN'ы (объединения) — это операции в языке SQL, которые позволяют объединять строки из двух или более таблиц на основе логических связей между ними. Существует несколько типов JOIN'ов, каждый из которых используется для разных сценариев объединения данных.
🤔 Основные типы JOIN'ов:1️⃣ INNER JOIN:
➕ Описание: Возвращает только те строки, которые имеют совпадающие значения в обеих таблицах.
➕ Пример:
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;
2️⃣ LEFT JOIN (LEFT OUTER JOIN):
➕ Описание: Возвращает все строки из левой таблицы и совпадающие строки из правой таблицы. Если совпадений нет, то в столбцах правой таблицы будут NULL.
➕ Пример:
SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.id;
3️⃣ RIGHT JOIN (RIGHT OUTER JOIN):
➕ Описание: Возвращает все строки из правой таблицы и совпадающие строки из левой таблицы. Если совпадений нет, то в столбцах левой таблицы будут NULL.
➕ Пример:
SELECT employees.name, departments.department_name
FROM employees
RIGHT JOIN departments ON employees.department_id = departments.id;
4️⃣ FULL JOIN (FULL OUTER JOIN):
➕ Описание: Возвращает все строки, когда есть совпадения в одной из таблиц. Если совпадений нет, то в соответствующих столбцах будут NULL.
➕ Пример:
SELECT employees.name, departments.department_name
FROM employees
FULL JOIN departments ON employees.department_id = departments.id;
5️⃣ CROSS JOIN:
➕ Описание: Возвращает декартово произведение строк из двух таблиц. Каждая строка из первой таблицы соединяется со всеми строками из второй таблицы.
➕ Пример:
SELECT employees.name, departments.department_name
FROM employees
CROSS JOIN departments;
6️⃣ SELF JOIN:
➕ Описание: Использует JOIN для объединения таблицы с самой собой. Это полезно, когда нужно сравнить строки внутри одной таблицы.
➕ Пример:
SELECT e1.name AS Employee1, e2.name AS Employee2
FROM employees e1
INNER JOIN employees e2 ON e1.manager_id = e2.id;
🤔 Краткий ответJOIN'ы в SQL — это операции для объединения строк из двух или более таблиц на основе логических связей. Основные типы JOIN'ов включают:
➕ INNER JOIN: Только совпадающие строки.
➕ LEFT JOIN: Все строки из левой таблицы и совпадающие из правой.
➕ RIGHT JOIN: Все строки из правой таблицы и совпадающие из левой.
➕ FULL JOIN: Все строки из обеих таблиц, с заполнением NULL при отсутствии совпадений.
➕ CROSS JOIN: Декартово произведение строк.
➕ SELF JOIN: Объединение таблицы с самой собой.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов |
🔒 База тестовых