Горизонтальное соединение данных в базах данных позволяет получать недостающие данные из других таблиц. habr.com Для этого используют связи между сущностями. wiki.cs.hse.ru
В языках стандарта SQL операции горизонтального соединения таблиц представлены ключевым словом JOIN. wiki.cs.hse.ru Есть несколько типов соединения, например:
- INNER JOIN. habr.com Из строк левой и правой таблиц объединяются и возвращаются только те строки, по которым выполняются условия соединения. habr.com
- LEFT JOIN. habr.com Возвращаются все строки левой таблицы, а данными правой таблицы дополняются только те строки левой таблицы, для которых выполняются условия соединения. habr.com Для недостающих данных вместо строк правой таблицы вставляются NULL-значения. habr.com
- RIGHT JOIN. habr.com Возвращаются все строки правой таблицы, а данными левой таблицы дополняются только те строки правой таблицы, для которых выполняются условия соединения. habr.com Для недостающих данных вместо строк левой таблицы вставляются NULL-значения. habr.com
- FULL JOIN. habr.com Возвращаются все строки левой и правой таблиц. habr.com Если для строк левой и правой таблиц выполняются условия соединения, то они объединяются в одну строку. habr.com Для строк, для которых не выполняются условия соединения, NULL-значения вставляются на место левой или правой таблицы, в зависимости от того, данных какой таблицы в строке не имеется. habr.com
- CROSS JOIN. habr.com Объединение каждой строки левой таблицы со всеми строками правой таблицы. habr.com Этот вид соединения иногда называют декартовым произведением. habr.com
После каждого соединения создаётся новый набор, и следующее соединение уже происходит с этим расширенным набором. habr.com