В чем разница между видами JOIN

Python Middle Без компании
В чем разница между видами JOIN
Ответы
JOIN в SQL объединяет данные из двух таблиц. Основные виды: - **INNER JOIN** - возвращает только совпадающие строки из обеих таблиц: ``` SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id ``` - **LEFT JOIN** - все строки из левой таблицы + совпадающие из правой. Если нет совпадений - NULL в правых колонках: ``` SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id ``` - **RIGHT JOIN** - аналогично LEFT, но приоритет у правой таблицы (редко используется). - **FULL JOIN** - объединяет LEFT и RIGHT, возвращает все строки из обеих таблиц с NULL где нет совпадений. - **CROSS JOIN** - декартово произведение - каждая строка первой таблицы соединяется с каждой строкой второй. - **SELF JOIN** - соединение таблицы с самой собой (например, для иерархических данных). Ключевое отличие - в том, какие строки включаются в результат при отсутствии совпадений. INNER строгий, LEFT/RIGHT включают одну таблицу полностью, FULL - обе.