В SQL присоединиться используется для сравнения и объединения - буквального объединения - и возврата определенных строк данных из двух или более таблиц в базе данных. внутреннее соединение находит и возвращает совпадающие данные из таблиц, а внешнее соединение находит и возвращает совпадающие данные и некоторые разнородные данные из таблиц.
Внутреннее соединение фокусируется на общности между двумя таблицами. При использовании внутреннего соединения должны быть хотя бы некоторые совпадающие данные между двумя (или более) сравниваемыми таблицами. Внутреннее объединение ищет в таблицах совпадающие или перекрывающиеся данные. Найдя его, внутреннее объединение объединяет и возвращает информацию в одну новую таблицу..
Давайте рассмотрим общий сценарий двух таблиц: цены на продукт и количество. Общей информацией в этих двух таблицах является название продукта, поэтому это логический столбец для объединения таблиц на. Есть несколько продуктов, которые распространены в двух таблицах; другие уникальны для одной из таблиц и не имеют совпадений в другой таблице.
Внутреннее соединение на Товары возвращает информацию только о тех продуктах, которые распространены в обеих таблицах.
Внешнее соединение возвращает набор записей (или строк), которые включают то, что вернуло бы внутреннее соединение, но также включают другие строки, для которых не найдено соответствующего соответствия в другой таблице..
Существует три типа внешних соединений:
Каждое из этих внешних объединений относится к части данных, которые сравниваются, объединяются и возвращаются. Иногда в этом процессе будут возникать пустые значения, так как некоторые данные являются общими, а другие - нет..
При левом внешнем соединении будут возвращены все данные в таблице 1 и все общие данные (так, внутренняя часть примера диаграммы Венна), но только соответствующие данные из таблицы 2, которые являются правым соединением..
В нашей базе данных с примерами слева есть два продукта - апельсины и помидоры (Цены таблица), которые не имеют соответствующей записи справа (таблица количеств). В левом соединении эти строки включаются в набор результатов со значением NULL в столбце Количество. Другие строки в результате совпадают с внутренним соединением.
Правое внешнее соединение возвращает данные таблицы 2 и все общие данные, но только соответствующие данные из таблицы 1, которые являются левым соединением.
Как и в примере с левым соединением, вывод правого внешнего соединения включает все строки внутреннего соединения и две строки - брокколи и сквош - справа. (Количества таблица), которые не имеют соответствующих записей слева.
Полное внешнее соединение или полное соединение, которое не поддерживается популярной системой управления базами данных MySQL, объединяет и возвращает все данные из двух или более таблиц, независимо от того, есть ли общая информация. Полное объединение - это просто дублирование всей указанной информации, но в одной таблице, а не в нескольких таблицах. Если совпадающие данные отсутствуют, будут получены нулевые значения.
Это только основы, но с помощью соединений можно многое сделать. Есть даже объединения, которые могут исключать другие объединения!
Это видео объясняет разницу между различными типами соединений. Планируется начать с того момента, когда начинается обсуждение объединений.