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