Разница между INNER, LEFT, RIGHT и FULL JOIN заключается в том, какие строки включаются в результат объединения таблиц: 14
- INNER JOIN возвращает только те строки, которые имеют соответствующие значения в обеих таблицах, участвующих в объединении. 4 Это самый распространённый и простой тип JOIN. 1
- LEFT JOIN берёт все строки из левой таблицы и только те из правой, которые совпадают по указанному полю или условию. 1 Если совпадений нет, то вместо значений из правой таблицы будут пустые ячейки (NULL). 1
- RIGHT JOIN позволяет увидеть все строки из правой таблицы и те из левой, которые совпадают по определённому условию (полю). 1 Если совпадений нет, то будут пустые ячейки (NULL) для полей из левой таблицы. 1
- FULL JOIN позволяет увидеть все строки из таблиц, даже если они не имеют совпадений по указанному полю или условию. 1 Если совпадений нет, то в выводе появятся пустые ячейки (NULL) для полей из той таблицы, которая не имеет совпадений. 1
Таким образом, INNER JOIN подходит для связывания данных по первичным и внешним ключам, LEFT JOIN — для получения списка всех записей из одной таблицы и дополнительной информации из другой таблицы, если она существует, RIGHT JOIN — когда нужно получить список всех записей из одной таблицы и дополнительную информацию из другой таблицы, если она есть, а FULL JOIN — когда нужно получить полную информацию о всех записях из обеих таблиц. 1