Что означают операторы inner join, outer join, left join, right join в SQL

Python Senior Без компании
Что означают операторы inner join, outer join, left join, right join в SQL
Ответы
В SQL JOIN объединяет строки из двух или более таблиц на основе связанного столбца. **INNER JOIN** - возвращает только совпадающие строки из обеих таблиц. ``` SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id; ``` **LEFT (OUTER) JOIN** - возвращает все строки из левой таблицы и совпадающие из правой. Если нет совпадений, правые поля будут NULL. ``` SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id; ``` **RIGHT (OUTER) JOIN** - аналогично LEFT, но возвращает все строки из правой таблицы. **FULL (OUTER) JOIN** - возвращает все строки из обеих таблиц, заполняя NULL отсутствующие совпадения. Основное отличие: INNER работает только с пересечением, а OUTER (LEFT/RIGHT/FULL) включает несовпадающие строки из одной или обеих таблиц.