Разница между внутренним соединением и естественным соединением

Оглавление:

Разница между внутренним соединением и естественным соединением
Разница между внутренним соединением и естественным соединением

Видео: Разница между внутренним соединением и естественным соединением

Видео: Разница между внутренним соединением и естественным соединением
Видео: Практический курс по SQL для начинающих - #3 Соединения (JOIN) 2024, Июль
Anonim

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

СУБД позволяет легко хранить, извлекать и манипулировать данными. Он хранит данные в виде таблиц. Каждая таблица состоит из строк и столбцов. Строки представляют каждую сущность, а столбцы представляют атрибуты. Предположим, база данных Student. Каждая строка представляет студента. Столбцы представляют такие атрибуты, как идентификатор, имя, класс, возраст. СУБД представляет собой набор таблиц, и каждая таблица связана с использованием ограничений, таких как внешние ключи. Иногда недостаточно использовать одну таблицу. Бывают ситуации, когда требуется использование нескольких таблиц. Для объединения двух таблиц хотя бы один столбец должен быть общим. Объединение таблиц называется соединением.

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

Пример внутреннего соединения выглядит следующим образом. Ниже таблица учеников.

Рисунок 1. Разница между внутренним соединением и естественным соединением
Рисунок 1. Разница между внутренним соединением и естественным соединением

Таблица student_info выглядит следующим образом.

Разница между внутренним соединением и естественным соединением рис. 2
Разница между внутренним соединением и естественным соединением рис. 2

Для выполнения внутреннего соединения должно быть хотя бы одно совпадение между обеими таблицами. Идентификаторы 1, 2, 3 являются общими для обеих таблиц. Следовательно, можно выполнить внутреннее соединение.

Разница между внутренним соединением и естественным соединением
Разница между внутренним соединением и естественным соединением

Рисунок 01: SQL Join

Запрос INNER JOIN для соединения этих двух таблиц выглядит следующим образом.

ВЫБРАТЬот студента

ВНУТРЕННЕЕ СОЕДИНЕНИЕ student_info WHERE student.id=student_info.id;

Выполнение приведенной выше команды SQL выведет следующую таблицу.

Разница между внутренним соединением и естественным соединением рис. 3
Разница между внутренним соединением и естественным соединением рис. 3

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

Пример естественного соединения выглядит следующим образом. Ниже таблица учеников.

Разница между внутренним соединением и естественным соединением рис. 4
Разница между внутренним соединением и естественным соединением рис. 4

Таблица student_info выглядит следующим образом.

Разница между внутренним соединением и естественным соединением рис. 5
Разница между внутренним соединением и естественным соединением рис. 5

Для выполнения естественного соединения должен быть столбец с таким же именем и тем же типом данных. Столбец id одинаков для обеих таблиц. Следовательно, можно естественным образом объединить обе эти таблицы.

Запрос ЕСТЕСТВЕННОГО СОЕДИНЕНИЯ для соединения этих двух таблиц выглядит следующим образом.

SELECTfrom student ЕСТЕСТВЕННОЕ ПРИСОЕДИНЕНИЕ student_info;

Выполнение приведенной выше команды SQL выведет следующую таблицу.

Разница между внутренним соединением и естественным соединением рис. 6
Разница между внутренним соединением и естественным соединением рис. 6

Какова связь между внутренним соединением и естественным соединением?

Естественное соединение - это тип внутреннего соединения

В чем разница между внутренним соединением и естественным соединением?

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

Если таблица1 состоит из идентификатора, имени, а таблица2 состоит из идентификатора и города, то внутреннее соединение даст результирующую таблицу с соответствующими строками. У него будет идентификатор, имя, снова идентификатор и город. С другой стороны, при естественном соединении результирующая таблица будет содержать совпадающие строки с идентификатором столбца, именем, городом.

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

Резюме – Внутреннее соединение против естественного соединения

Ключевое различие между внутренним соединением и естественным соединением заключается в том, что внутреннее соединение предоставляет результат на основе сопоставленных данных в соответствии с условием равенства, указанным в SQL-запросе, в то время как естественное соединение предоставляет результат на основе столбца с тем же именем. и тот же тип данных присутствует в соединяемых таблицах.

Рекомендуемые: