«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Внутреннее соединение против внешнего соединения: в чем разница и когда я должен использовать каждый?

Внутреннее соединение против внешнего соединения: в чем разница и когда я должен использовать каждый?

Опубликовано в 2025-03-23
Просматривать:106

INNER JOIN vs. OUTER JOIN: What's the Difference and When Should I Use Each?

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

inner join: recsection

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

Внешнее JOIN: Union

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

] Внешнее соединение типа

Внешнее соединение разделено на три типа: ]

]

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

] рассмотрим следующую таблицу, содержащую клиента и их данные заказа: ]

customer (id, name)

] Orders (id, customer_id, product)

]


inner join:

ВЫБИРАТЬ * От клиента Внутренние ордена на customer.id = orders.customer_id;

SELECT *
FROM customer
INNER JOIN orders ON customer.id = orders.customer_id;

Left Outter Join:

ВЫБИРАТЬ * От клиента Левые внешние ордена на customer.id = orders.customer_id;

]
SELECT *
FROM customer
LEFT OUTER JOIN orders ON customer.id = orders.customer_id;
правый внешний JOIN:

ВЫБИРАТЬ * От клиента Правое внешнее соединение заказов на customer.id = orders.customer_id; ]

этот запрос будет возвращать все заказы, включая заказы, размещенные клиентами, которые не существуют в таблице клиентов, и информация о клиенте будет нулевой стоимостью.
SELECT *
FROM customer
RIGHT OUTER JOIN orders ON customer.id = orders.customer_id;

]

ВЫБИРАТЬ * От клиента Полные внешние ордена на присоединение на customer.id = orders.customer_id; ]

этот запрос вернет всех клиентов и всех заказов, заполняя пропущенные совпадения с нулевыми значениями.
]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3