Разница между левым и правым соединением (с таблицей)

Оглавление:

Anonim

Присоединение - это типичный элемент прозвища и команды, который время от времени будет появляться при работе с SQL. Предложение join упрощает объединение записей из различных таблиц при сборе данных. Объединение генерирует таблицу, которую можно использовать отдельно или в сочетании друг с другом. Таким образом, рекомендуется понимать эти объединения и различия между ними, чтобы определить конкретное соединение, а также то, следует ли выбирать правое или левое в уникальных случаях.

Левое соединение против правого соединения

Разница между левым соединением и правым соединением состоит в том, что включение несовпадающих записей является основным различием между обоими этими типами соединений. LEFT JOIN обрабатывает все записи с левой стороны, а также парные строки из правой таблицы, в то время как RIGHT JOIN доставляет все строки с правой стороны, а также несоответствующие строки с левой панели.

Несмотря на то, что в правой части таблицы нет соответствия, SQL LEFT обрабатывает все записи из левой таблицы. Это означает, что когда предложение ON содержит 0 (ноль) записей в правой части таблицы, соединение все равно будет возвращать запись с NULL в каждом поле из основной таблицы. Это означает, что левое соединение сначала доставляет все данные из левой таблицы, а также любые совпадающие значения из правой таблицы или NULL, если подходящего предиката соединения не существует.

С другой стороны, правое соединение обнаруживает, что даже в левой таблице SQL RIGHT получает и отправляет все записи из правой таблицы. Это означает, что даже если предложение ON содержит 0 (ноль) записей в левой базе данных, соединение все равно будет создавать строку со значением NULL в каждом поле из левой таблицы, как и в левом соединении, но наоборот.

Это означает, что правильное соединение доставляет все данные из правой таблицы, а также любые принятые значения из таблиц или NULL, если для этой операции не существует подходящего предиката соединения.

Таблица сравнения левого и правого соединения

Параметры сравнения

Левое соединение

Правое соединение

использование

Он соединяет несколько таблиц и предоставляет все записи из левой таблицы, а также соответствующие строки из правой. Он объединяет несколько таблиц и доставляет все данные из правой таблицы, а также соответствующие строки сначала из левой таблицы.
Выполнение запроса

Во время реализации запроса, включающего левое соединение, сначала принимаются все записи таблиц, а затем с помощью составных циклов получаются совпадающие данные значений правого столбца таблицы, а значение NULL заменяется другими несогласованными данными. Во время реализации запроса, включающего правое соединение, сначала получаются все данные из правой таблицы, а затем с помощью составных циклов собираются совпадающие записи значений левого столбца таблицы.
Набор результатов

Значение набора результатов будет NULL или нулевым, если в правой таблице не найдены совпадающие данные. Значение набора результатов будет NULL или нулевым, если в левой таблице не найдены совпадающие данные.
Синонимичный термин

ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ ПРАВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ
Синтаксис

ВЫБЕРИТЕ имена_столбцов ИЗ table1LEFT JOIN table2ON table1.column_name = table2.column_name; ВЫБЕРИТЕ имя_столбца ИЗ table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;

Что такое левое соединение?

Чтобы объединить данные из двух баз данных в зависимости от столбца, содержащего совпадающие значения, мы используем JOIN в SQL. Например, если у вас есть таблица, содержащая данные клиента (идентификатор клиента, первая фамилия, идентификатор и т. Д.), А затем другая таблица, содержащая данные заказа за определенное время (идентификатор транзакции, время, идентификатор клиента, идентификатор продукта и т. Д.)), вы можете связать два набора данных, используя столбцы, содержащие идентификационные номера клиентов. Это предоставит вам информацию о заказе и клиенте для каждого клиента, и предложение Left join играет важную роль в выполнении этой операции.

Давайте посмотрим на синтаксис Left Join, чтобы правильно понять его полезность:

ВЫБЕРИТЕ имя_столбца

ИЗ table1

LEFT JOIN table2

ON table1.column_name = table2.column_name

Для начала базы данных проверяют каждую запись в левой таблице, а затем ищут соответствие в правой таблице в зависимости от связанных столбцов. Если совпадение найдено, данные из правой таблицы добавляются в соответствующую строку левой таблицы. Если есть несколько совпадений, столбец в левой таблице дублируется, чтобы включить все данные непосредственно из правой таблицы. Если совпадений не найдено, он сохраняет строку как из левой таблицы, а затем вставляет NULL в соответствующие столбцы правой таблицы.

Что такое правильное присоединение?

Грубо говоря, операция правого соединения очень похожа на левое соединение, как раз наоборот. Для лучшего понимания мы рассмотрим синтаксический анализ, и в этом случае важно общее использование правого соединения, а также ссылка на левую таблицу.

Правое соединение SQL доставляет всю информацию из строк правой таблицы. Он также содержит подтвержденные значения из левой таблицы; однако, если совпадений в обеих базах данных не найдено, возвращается значение NULL. Правые соединения по существу очень похожи на левые соединения в том, что они извлекают все строки из таблицы, указанной во фразе RIGHT JOIN, но только соответствующие строки из таблицы, указанной в предложении FROM.

RIGHT JOIN используется нечасто, поскольку содержимое RIGHT JOIN можно получить, просто поменяв местами метки двух связанных таблиц в LEFT JOIN.

Традиция всегда использовать LEFT JOIN возникает, скорее всего, для облегчения понимания и проверки запросов, хотя нет веской причины избегать использования RIGHT JOIN. Стоит отметить, что LEFT JOIN и RIGHT JOIN также могут быть выражены как LEFT OUTER JOIN, а также как RIGHT OUTER JOIN.

Синтаксис для правого соединения описан ниже. Операции правого и левого соединения идентичны, но в обратном порядке:

ВЫБЕРИТЕ имя_столбца ИЗ table1RIGHT JOIN table2ON table1.column_name = table2.column_name

Основные различия между левым соединением и правым соединением

Вывод

При взаимодействии с этими различными соединениями важно знать, что в левом внешнем соединении все столбцы слева от таблицы видны в базе данных. Результаты отображаются независимо от того, доступны ли сопоставленные столбцы в правильной таблице. Не имеет значения, используете ли вы левое или правое внешнее соединение, потому что последствия одинаковы. Информация о процессе правого внешнего соединения такая же, как и при левом внешнем соединении.

использованная литература

Разница между левым и правым соединением (с таблицей)