Соединения
Операция соединения используется в SQL для вывода связанной информации, хранящейся в нескольких таблицах.
Операции соединения делятся на два вида:
![]() | ![]() | ||
Внутренние | Внешние |
Поддерживаются как при помощи опции JOIN, так и при помощи опции WHERE | Поддерживаются при помощи опции JOIN |
Внутренние соединения
Внутреннее соединение возвращает только те строки, для которых условие соединения верно. См. пример 5. В результате данного запроса не будет данных о непроданных товарах, т.е. о товаре 520 Клеенка. Так как для данного товара нет соответствующего заказа.
Запрос из примера 5
SELECT Pokup.cfam, Pokup.ntov, Tovary.cnaim
FROM Pokup, Tovary
WHERE Pokup.nkod = Tovary.nkod
можно переписать при помощи опции JOIN:
SELECT Pokup.cfam, Pokup.ntov, Tovary.cnaim
FROM pokup INNER JOIN tovary
ON Pokup.ckod = Tovary.nkod
Слева от стандартных слов INNER JOIN указывается имя одной таблицы, справа - второй, а после слова ON - условие соединения.
Внешние соединения
Внешние соединения строятся только при помощи опции JOIN, таблица, которая строит слева от слова JION называется левой, а таблица, стоящая справа, правой.
Различают 3 вида внешних соединений: