Киберфак – бесплатно скачать презентации PowerPoint, лекции, рефераты, шпоры, курсовые cyberfac logo
cyberfac.ru
На главную | Регистрация | Вход
  Статьи  
Главная » Статьи » Базы данных » Базы данных

Соединение таблиц

Полезная статья? Пожалуйста, поставьте "+"
Базы данных - Содержание

Естественным соединением таблиц называется такое соединение, из которого исключены дубликаты столбцов, по которым проводилось эквисоединение (Managers.Man_id и Contracts.Man_id). Для исключения дубликатов в операторе SELECT необходимо явно указать только один из столбцов этих пар, принадлежащего главной таблице:
SELECT Managers.Man_id, D_id, Name, Hire_Date, Procent,
Comments, Parent_id, DayFrom, DayTo
FROM Managers, Contracts
WHERE Managers.Man_id = Contracts.Man_id;

Соединение таблиц с дополнительным условием
Наравне с уловными выражениями, предназначенными для указания способа соединения таблиц между собой, в параметре WHERE можно дополнительно указывать все описанные выше дополнительные условия фильтрации, объединенные с условными выражениями соединения при помощи оператора AND. Например:
-- получение информации о менеджерах и заключенных
-- ими контрактах за последнюю неделю
SELECT Name, DayFrom, DayTo
FROM Managers, Contracts
WHERE Managers.Man_id = Contracts.Man_id
AND DayFrom BETWEEN TRUNC(SYSDATE)-7 AND SYSDATE;

Внутреннее и внешнее объединение таблиц
Ранее были рассмотрены способы получения связанных между собой данных, находящихся в нескольких таблицах, при помощи комбинирования операций декартово произведения и горизонтальной фильтрации строк получившегося набора данных.
Кроме этого во многих СУБД существуют реализации операции внутреннего и внешнего условных соединений таблиц внутри одного запроса – INNER JOIN (внутреннее объединение), LEFT JOIN (полное левое объединение) и RIGHT JOIN (полное правое объединение).
Синтаксис применения операция объединения выглядит следующим образом:
SELECT список_полей
FROM таблица1 ( INNER | LEFT | RIGHT ) JOIN таблица2
ON таблица1.связующее_поле = таблица2.связующее_поле;
В результате выполнения внутреннего объединения из кортежей двух объединяемых таблиц остаются только те, для которых выполняется указанное условие. Например:
-- получение имен менеджеров и связанных с ними дилеров
-- (менеджеры, не связанные с дилерами и дилеры не связанные
-- с менеджерами исключатся из результата)
SELECT Managers.Name, Dealers.Name
FROM Managers INNER JOIN Dealers
ON Managers.D_id=Dealers.D_id;

При полном (внешнем) левом объединении из кортежей двух объединяемых таблиц остаются все кортежи таблицы, указанной слева от условного выражения, и кортежи правой таблицы, для которых выполняется указанное условие. Например:
-- получение всех менеджеров и связанных с ними дилеров,
-- включая менеджеров, не связанных с дилерами
SELECT Managers.Name, Dealers.Name
FROM Managers LEFT JOIN Dealers
ON Managers.D_id=Dealers.D_id;

Категория: Базы данных | Добавил: Ni-Cd (09 Декабря 2011)
Просмотров: 978 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
  Полезные материалы  

В нашем каталоге файлов можно найти много полезной информации. Также советуем заглянуть в каталог статей: в нем есть полезные статьи по темам: Экономика предприятия, Общая экономика, Финансы и Кредит, также Словарь терминов по экономике, Маркетинг, Бухучет и Мировая экономика
Также есть полезная страница Факультеты МИФИ, которая расскажет о том, какие есть в МИФИ факультеты.
Меню
 

Навигация
Базы данных [64]
 

Поиск
 

Онлайн
Онлайн всего: 3
Гостей: 3
Пользователей: 0
 

Статистика


Рейтинг@Mail.ru

 


2007 - 2018 © Ni-Cd. All Rights Reserved