Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Соединение объединения






Таблица А UNION JOIN Таблица В

UNION JOIN - Соединение объединения является обратным по отношению к

внутреннему соединению. Оно включает только те строки из таблиц А и В, для

которых не найдено совпадений. В них используются значения NULL для

столбцов, полученных из другой таблицы. Если взять полное внешнее соединение

и удалить из него строки, полученные в результате внутреннего соединения, то

получится соединение объединения.

[ТИПЫ СОЕДИНЕНИЙ]

INNER - Тип соединения " внутреннее". Внутренний тип соединения используется

по умолчанию, когда тип явно не задан. В таблицах А и В соединяются только те

строки, для которых найдено совпадение.

LEFT (OUTER) - Тип соединения " левое (внешнее)". Левое соединение таблиц А и

В включает в себя все строки из левой таблицы А и те строки из правой таблицы

В, для которых обнаружено совпадение. Для строк из таблицы А, для которых не

найдено соответствия в таблице В, в столбцы, извлекаемые из таблицы В,

заносятся значения NULL.

RIGHT (OUTER) - Тип соединения " правое (внешнее)". Правое соединение таблиц

А и В включает в себя все строки из правой таблицы В и те строки из левой

таблицы А, для которых обнаружено совпадение. Для строк из таблицы В, для

которых не найдено соответствия в таблице А, в столбцы, извлекаемые из

таблицы А заносятся значения NULL.

FULL (OUTER) - Тип соединения " полное (внешнее)". Это комбинация левого и

правого соединений. В полное соединение включаются все строки из обеих

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

несовпадающих строк поля заполняются в соответствии с правилами левого и

правого соединений.

Использование соединенных таблиц часто облегчает восприятие оператора

SELECT, особенно, когда используется естественное соединение. Если не

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

необходимо явно указывать условия соединения в разделе WHERE. Если при

этом пользователь указывает сложные критерии отбора строк, то в разделе

WHERE смешиваются семантически различные понятия - как условия связи

таблиц, так и условия отбора строк

4.4.4 OUTER JOIN

LEFT OUTER JOIN (можно использовать просто LEFT JOIN)

 

SELECT *
FROM `user`
LEFT OUTER JOIN `article` ON `article`.`ID_user` = `user`.`ID_user`

 

 

4.4.5 INNER JOIN

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

В простейшем случае (без указания условий отбора), выборка вернёт т.н. декартово произведение, в котором каждая строка одной таблицы будет сопоставлена с каждой строкой другой таблицы:

mysql> SELECT * FROM nomenclature INNER JOIN description; +----+-----------+----+---------------------+| id | name | id | description |+----+-----------+----+---------------------+| 1 | Книга | 1 | Замечательная книга || 2 | Табуретка | 1 | Замечательная книга || 3 | Карандаш | 1 | Замечательная книга || 1 | Книга | 3 | Красный карандаш || 2 | Табуретка | 3 | Красный карандаш || 3 | Карандаш | 3 | Красный карандаш || 1 | Книга | 5 | Зелёная машинка || 2 | Табуретка | 5 | Зелёная машинка || 3 | Карандаш | 5 | Зелёная машинка |+----+-----------+----+---------------------+9 rows in set (0.00 sec)

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.