ВВЕДЕНИЕ:

В SQL объединение — это способ связывания двух или более таблиц.
Объединение было создано, чтобы избежать проблемы наличия нескольких столбцов в таблице.
Представьте себе таблицу, в которой записана информация о человеке, но среди этой информации мы должны где-то упомянуть информацию о его отце и его матери.
Сначала у нас возникнет соблазн создать таблицу (Person) со следующими столбцами: id, имя, пост-имя, имя, пол, возраст, телефон, электронная почта, фамилия-отец, пост-фамилия-отец, имя-отца, возраст-отца, телефон-отца, e-mail-отца, фамилию-матери, пост-фамилию-матери, имя-матери, возраст-матери, телефон-матери, e-mail-матери.
В итоге мы получим эту большую таблицу из более чем 20 столбцов.
Объединение подчеркивает принцип разделения для лучшего управления; он уменьшает количество столбцов, но увеличивает количество таблиц, чтобы лучше манипулировать данными.
Таким образом, благодаря соединению у нас может быть 3 таблицы, каждая с уменьшенным количеством столбцов; Таблица лиц (идентификатор, фамилия, пост-фамилия, имя, пол, возраст, телефон, электронная почта, идентификатор отца, идентификатор матери), таблица отца (идентификатор, фамилия, пост-фамилия, имя, возраст , телефон, электронная почта) и материнская таблица (идентификатор, имя, пост-имя, имя, возраст, телефон, адрес электронной почты).
Соединение основано на концепции внешнего ключа, внешний ключ — это обычный ключ (столбец) в таблице, который является первичным ключом в другой таблице.
В нашем случае ключи идентификатора отца и идентификатора матери являются внешними ключами в таблице Person, поскольку они являются соответственно первичными ключами в таблицах отца и матери.
В этой статье мы будем использовать СУБД Postgresql.
Содержимое таблицы Person
Описание изображения

Содержимое таблицы отца
Описание изображения

Содержимое родительской таблицы
Описание изображения

СИНТАКСИС:

В синтаксисе соединения очень важны 2 ключевых слова:
ПРИСОЕДИНИТЬСЯ: Возьмите слева и справа от него 2 стола, к которым мы хотим присоединиться.
НА: получает справа ключи ссылок двух таблиц, упомянутых с обеих сторон JOIN.
Table1 JOIN Table2 ON clé-de-liaison(dans Table1) = clé-de-liaison(dans Table2)
Итак, если мы хотим отобразить информацию об отце Glory, мы должны запустить следующий скрипт:
SELECT Pere.* FROM Pere JOIN Personne ON Pere.id=Personne.id-pere WHERE Personne.prenon='Gloire'
Описание изображения
Необходимо сигнализировать имя таблицы перед каждым столбцом, чтобы избежать конфликта неоднозначности.

ТИПЫ:

Различают следующие типы соединений:

— Внутреннее соединение: внутреннее соединение, которое возвращает записи, когда условие проверяется в 2 таблицах.
Описание изображения

— перекрестное соединение: Соединение, позволяющее соединить каждую строку таблицы с каждой строкой другой таблицы.
Описание изображения

— Левое соединение:Join используется для возврата всех записей левой таблицы.
Описание изображения

— Право присоединиться:Join используется для возврата всех записей правильной таблицы.
Описание изображения

— Полное присоединение:Join возвращает результаты, когда условие проверено хотя бы в одной из таблиц.
Описание изображения

— Самостоятельное присоединение: Соединение таблицы с самой собой.

SELECT `t1`.`nom_colonne1`, `t1`.`nom_colonne2`, `t2`.`nom_colonne1`,
`t2`.`nom_colonne2`
FROM `table` as `t1`
LEFT OUTER JOIN `table` as `t2` ON `t2`.`fk_id` = `t1`.`id`

Войти в полноэкранный режим

Выйти из полноэкранного режима

— Естественное соединение: Естественное соединение между двумя таблицами, если между двумя таблицами есть хотя бы один столбец с одинаковым именем.
Описание изображения

— Союз присоединиться: союз присоединиться

ПРЕСТИЖНЫЙ:
В SQL переименование (псевдоним) — это использование простых букв или согласных вместо имен таблиц, чтобы избежать длинных строк сценариев, как правило, при выполнении сложных соединений.
Описание изображения

ВЫВОД:
Наконец, зная всю сложность манипулирования данными в наши дни, а также то, что объединение является одним из методов, упрощающих эту манипуляцию, я предлагаю нам использовать эту статью, чтобы познакомиться с этим методом и легко погрузиться в него глубже.