Что означают операторы 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) включает несовпадающие строки из одной или обеих таблиц.