Разница между левым соединением и левым внешним соединением

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

В SQL объединения используются для объединения записей, поступающих из разных наборов данных. Соединение может быть внутренним или внешним. Внутреннее соединение возвращает записи, которые имеют совпадения в обеих таблицах, а не внешнее соединение, противоположное внутреннему. Поэтому внешнее соединение возвращает те записи, которые не имеют совпадений ни в одной из таблиц. Различия между правым внешним соединением и левым внешним соединением обсуждаются ниже.

Различия

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

Левое внешнее объединение будет содержать полный набор записей из первой таблицы, и результаты сопоставления будут доступны вместе с результатами в соответствующей таблице. Если нет подходящих результатов, правая часть будет содержать ноль. Чтобы получить записи только в левой таблице, а не в правой, в игру вступает предложение 'where'.

Чтобы создать уникальные записи для таблицы справа и слева, рекомендуется использовать полное внешнее соединение. Выполнив полное внешнее объединение, предложение «where» используется для исключения нежелательных результатов как с «правой», так и с «левой» стороны. Кроме того, декартово объединение может быть использовано для объединения всего левого и правого. Иногда это может быть не то, что искали, но то, что иногда появляется. Объединения производят мощный набор данных, который дает до 16 строк наборов данных, часто намного больше, чем ожидается. Хотя вы получаете огромное количество наборов данных, эти объединения чрезвычайно опасны, так как небольшая несовместимость может нанести вред всей системе..

Если вы имеете дело с проектом, который также ищет совместимость с сервером Microsoft SQL, то вы получите преимущества от использования левого внешнего соединения. Последовательность возврата начинается с того, что сначала возвращаются внутренние записи, затем следуют записи правого соединения и, наконец, соединение левых записей. Использование оператора left join или left external join в среде SQL будет ссылаться на точно такой же оператор. По сути, это означает, что нет никакой разницы в ожидаемом результате, используется ли левое соединение или левое внешнее соединение. Результат будет аналогичным, если только среда не находится на сервере Microsoft SQL. Внешнее ключевое слово может быть использовано или даже опущено без беспокойства, так как результаты не отличаются ни в коем случае.

Резюме

Объединения используются в SQL для сравнения различных наборов данных.

Внутреннее объединение создает только набор записей, который присутствует в двух сравниваемых таблицах.

Внешнее объединение создает полный набор всех записей, присутствующих в обеих изучаемых таблицах.

Предложение 'where' используется для создания уникальных записей после использования полного объединения

Декартово соединение связывает левый и правый элементы таблицы.

Существует заметная разница в том, где левое соединение и левое внешнее соединение используются при использовании сервера Microsoft SQL

В общем, использование оператора left join или left external join относится к точно такой же инструкции. Поскольку нет никакой разницы, рекомендуется использовать левое внешнее соединение.