Присоединение - это типичный элемент прозвища и команды, который время от времени будет появляться при работе с 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
Основные различия между левым соединением и правым соединением
Вывод
При взаимодействии с этими различными соединениями важно знать, что в левом внешнем соединении все столбцы слева от таблицы видны в базе данных. Результаты отображаются независимо от того, доступны ли сопоставленные столбцы в правильной таблице. Не имеет значения, используете ли вы левое или правое внешнее соединение, потому что последствия одинаковы. Информация о процессе правого внешнего соединения такая же, как и при левом внешнем соединении.