Какие существуют типы JOIN в SQL?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
INNER JOIN
Возвращает строки, где есть совпадения значений в обеих таблицах.
LEFT JOIN (или LEFT OUTER JOIN)
Возвращает все строки из левой таблицы и совпадающие строки из правой. Если совпадений нет, для правой таблицы ставятся NULL.
RIGHT JOIN (или RIGHT OUTER JOIN)
Возвращает все строки из правой таблицы и совпадающие строки из левой. Если совпадений нет, для левой таблицы ставятся NULL.
FULL JOIN (или FULL OUTER JOIN)
Возвращает все строки, когда есть совпадение в одной из таблиц. Для строк без совпадений в одной из таблиц ставятся NULL.
CROSS JOIN
Возвращает декартово произведение двух таблиц, то есть каждая строка из первой таблицы объединяется с каждой строкой из второй.
Пример:
-- INNER JOIN
SELECT *
FROM table1
INNER JOIN table2 ON table1.id = table2.table1_id;
-- LEFT JOIN
SELECT *
FROM table1
LEFT JOIN table2 ON table1.id = table2.table1_id;
-- RIGHT JOIN
SELECT *
FROM table1
RIGHT JOIN table2 ON table1.id = table2.table1_id;
-- FULL JOIN
SELECT *
FROM table1
FULL JOIN table2 ON table1.id = table2.table1_id;
-- CROSS JOIN
SELECT *
FROM table1
CROSS JOIN table2;