Перехресні (необмежені) об’єднання

Перехресні обєднання, також звані необмеженими, є реалізацією реляційного твори двох вихідних таблиць При відсутності умови обєднання результуючий набір даних буде містити всі можливі комбінації рядків двох джерел Кожен рядок вихідного набору 1 буде зіставлятися з кожним рядком вихідного набору 2 Наприклад, якщо перший набір даних містить пять рядків, а друга – Чотири рядки, то результуючий набір даних буде містити двадцять рядків Такий тип результуючого безлічі називають декартовим твором

Використовуючи як приклад таблиці One і Two, перехресне обєднання двох таблиць, створене в Management Studio при відсутності умови обєднання, буде виглядати так, як показано на рис 910

Рис 910 Перехресне обєднання являє собою дві таблиці без умови обєднання

У коді цей тип обєднання визначається ключовими словами cross join при відсутності умови ON

SELECT Thingl, Thing2 FROM dboOne

CROSS JOIN dboTwo

Результатом такого обєднання без обмежень будуть всі рядки таблиці One, повязані з кожним рядком таблиці Two

Thingl          Thing2

Old Thing   Plane

New Thing Plane

Red Thing  Plane

Blue Thing Plane

Old Thing   Train

New Thing Train

Red Thing  Train

Blue Thing Train

Old Thing  Car

New Thing Car

Red Thing  Car

Blue Thing Car

Old Thing  Cycle

New Thing Cycle

Red Thing  Cycle

Blue Thing Cycle

Більшість перехресних обєднань є результатом того, що хтось забув визначити ставлення в графічному інтерфейсі Водночас ці обєднання корисні для наповнення бази даних навчальними даними або для створення порожніх рядків з метою заповнення деякої процедурою

Розуміння того, як перехресне обєднання примножує дані, також корисно при вивченні реляційного поділу – операції, зворотної твору Реляційне поділ вимагає використання підзапитів (рис 912) воно буде описано нижче в цьому розділі

Джерело: Нільсен, Пол Microsoft SQL Server 2005 Біблія користувача : Пер з англ – М: ООО ІД Вільямс , 2008 – 1232 с : Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*