Left Join и Left Outer Join

Anonim

Left Join vs Left Outer Join

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

Различия

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

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

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

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

Резюме

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

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

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

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

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

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

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