Какие join бывают ?
Спросят с вероятностью 8%
В реляционных базах данных JOIN — это операция, используемая для объединения строк из двух или более таблиц на основе связанного между ними столбца. Существует несколько типов JOIN, каждый из которых имеет свои особенности и используется в разных сценариях. Вот основные типы JOIN:
1️⃣INNER JOIN
Возвращает только те строки, которые имеют совпадающие значения в обеих таблицах. Это самый распространённый тип JOIN.
Этот запрос возвращает имена сотрудников и названия отделов для тех сотрудников, у которых есть соответствующий отдел.
2️⃣LEFT JOIN (или LEFT OUTER JOIN)
Возвращает все строки из левой таблицы и совпадающие строки из правой таблицы. Если соответствующих строк в правой таблице нет, результат будет содержать NULL для правой таблицы.
Этот запрос возвращает всех сотрудников и соответствующие названия отделов. Если у сотрудника нет отдела, колонка с названием отдела будет содержать NULL.
3️⃣RIGHT JOIN (или RIGHT OUTER JOIN)
Возвращает все строки из правой таблицы и совпадающие строки из левой таблицы. Если соответствующих строк в левой таблице нет, результат будет содержать NULL для левой таблицы.
Этот запрос возвращает все отделы и соответствующие имена сотрудников. Если в отделе нет сотрудников, колонка с именем сотрудника будет содержать NULL.
4️⃣FULL JOIN (или FULL OUTER JOIN)
Возвращает все строки, когда есть совпадения в одной из таблиц. Если соответствующей строки нет ни в одной из таблиц, результат будет содержать NULL для этой таблицы.
Этот запрос возвращает всех сотрудников и все отделы, включая те случаи, когда у сотрудников нет отдела или отдел не содержит сотрудников.
5️⃣CROSS JOIN
Возвращает декартово произведение двух таблиц, то есть каждая строка из одной таблицы соединяется с каждой строкой из другой таблицы.
Этот запрос возвращает все возможные комбинации сотрудников и отделов, независимо от их связи.
6️⃣SELF JOIN
Это соединение таблицы самой с собой. Оно используется, когда нужно сравнить строки внутри одной и той же таблицы.
Этот запрос возвращает список сотрудников и их менеджеров, где таблица employees соединяется сама с собой.
JOIN операции объединяют строки из разных таблиц на основе общих значений. Существуют разные типы JOIN: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, CROSS JOIN и SELF JOIN.
👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1855 вопроса на Тестировщика. Ставь 👍 если нравится контент
🔐 База собесов | 🔐 База тестовых
Спросят с вероятностью 8%
В реляционных базах данных JOIN — это операция, используемая для объединения строк из двух или более таблиц на основе связанного между ними столбца. Существует несколько типов JOIN, каждый из которых имеет свои особенности и используется в разных сценариях. Вот основные типы JOIN:
1️⃣INNER JOIN
Возвращает только те строки, которые имеют совпадающие значения в обеих таблицах. Это самый распространённый тип JOIN.
- SELECT employees.name, departments.name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;
Этот запрос возвращает имена сотрудников и названия отделов для тех сотрудников, у которых есть соответствующий отдел.
2️⃣LEFT JOIN (или LEFT OUTER JOIN)
Возвращает все строки из левой таблицы и совпадающие строки из правой таблицы. Если соответствующих строк в правой таблице нет, результат будет содержать NULL для правой таблицы.
- SELECT employees.name, departments.name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.id;
Этот запрос возвращает всех сотрудников и соответствующие названия отделов. Если у сотрудника нет отдела, колонка с названием отдела будет содержать NULL.
3️⃣RIGHT JOIN (или RIGHT OUTER JOIN)
Возвращает все строки из правой таблицы и совпадающие строки из левой таблицы. Если соответствующих строк в левой таблице нет, результат будет содержать NULL для левой таблицы.
- SELECT employees.name, departments.name
FROM employees
RIGHT JOIN departments ON employees.department_id = departments.id;
Этот запрос возвращает все отделы и соответствующие имена сотрудников. Если в отделе нет сотрудников, колонка с именем сотрудника будет содержать NULL.
4️⃣FULL JOIN (или FULL OUTER JOIN)
Возвращает все строки, когда есть совпадения в одной из таблиц. Если соответствующей строки нет ни в одной из таблиц, результат будет содержать NULL для этой таблицы.
- SELECT employees.name, departments.name
FROM employees
FULL OUTER JOIN departments ON employees.department_id = departments.id;
Этот запрос возвращает всех сотрудников и все отделы, включая те случаи, когда у сотрудников нет отдела или отдел не содержит сотрудников.
5️⃣CROSS JOIN
Возвращает декартово произведение двух таблиц, то есть каждая строка из одной таблицы соединяется с каждой строкой из другой таблицы.
- SELECT employees.name, departments.name
FROM employees
CROSS JOIN departments;
Этот запрос возвращает все возможные комбинации сотрудников и отделов, независимо от их связи.
6️⃣SELF JOIN
Это соединение таблицы самой с собой. Оно используется, когда нужно сравнить строки внутри одной и той же таблицы.
- SELECT A.name AS Employee, B.name AS Manager
FROM employees A, employees B
WHERE A.manager_id = B.id;
Этот запрос возвращает список сотрудников и их менеджеров, где таблица employees соединяется сама с собой.
JOIN операции объединяют строки из разных таблиц на основе общих значений. Существуют разные типы JOIN: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, CROSS JOIN и SELF JOIN.
👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1855 вопроса на Тестировщика. Ставь 👍 если нравится контент
🔐 База собесов | 🔐 База тестовых