русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Перехресні з’єднання і розширені запити на з’єднання в SQL2


Дата добавления: 2015-07-09; просмотров: 839; Нарушение авторских прав


Перехресне з’єднаннястворює декартовий добуток двох таблиць:

SELECT *

FROM Girls CROSS JOIN Boys

- таблиця результатів буде містити всі можливі пари рядків із двох таблиць (кожний із N рядків однієї таблиці по черзі співставляється з кожним із K рядків іншої таблиці – результат містить N x K рядків).

В декартовому добутку немає ніяких зв’язаних стовпчиків чи умов відбору, тому в перехресних з’єднаннях секції ON та USING не допускаються.

Перехресні з’єднання не добавляють нічого нового в мову SQL – ті самі результати можна отримати за допомогою внутрішнього з’єднання, якщо не задавати в ньому умови відбору. Тому наведений запит можна записати ще і таким чином:

SELECT *

FROM Girls, Boys

На практиці перехресні з’єднання рідко використовуються – як правило, лише в складі інших запитів, які повинні видати якісь підсумкові дані.

Розширений запит на з’єднання

SELECT *

FROM Girls UNOIN JOIN Boys

- таблиця результатів цього запиту буде містити 4 стовпчика – всі стовпчики із першої таблиці плюс всі стовпчики із другої таблиці. Таблиця результатів містить 10 рядків – кожний з яких утворений в точності одним рядком із таблиць Girls або Boys, розширеним значенням NULL:

Таблиця результатів розширеного запиту на з’єднання

Girls. Prizv Girls. Misto Boys. Prizv Boys. Misto
Баба Борислав NULL NULL
Внучка NULL NULL NULL
Жучка Дрогобич NULL NULL
Кішка Дрогобич NULL NULL
Мишка Трускавець NULL NULL
NULL NULL Дід Борислав
NULL NULL Іванов Борислав
NULL NULL Петров NULL
NULL NULL Сідоров Дрогобич
NULL NULL Колобок Стебник

 

На завершення порівняємо набори результатів, які отримуються при виконанні сполучень різних видів (див. cхему далі).



При сполученні двох таблиць Т1, яка містить N рядків, і Т2, яка містить K рядків, виконується наступне:

CROSS JOIN

· 1.перехресне з’єднання дасть таблицю з кількістю рядків N х K, яка складається із всіх можливих пар обидвох таблиць.

Набори результатів для різних видів з’єднань в SQL2

   
     

 

 
 

 

 


[INNER] JOIN

· 2.внутрішнє з’єднання дасть таблицю, яка містить деяку кількість рядків R, причому R < N x K. Внутрішнє з’єднання – це підмножина декартового добутку. Воно утворюється шляхом вилучення тих рядків із таблиці декартового добутку, які не задовольняють умові відбору.

LEFT [OUTER] JOIN

· 3.ліве зовнішнє з’єднання дасть таблицю, яка містить всі рядки внутрішнього з’єднання плюс розширені значеннями NULL рядки таблиці Т1, які не задовольняють умові відбору.

RIGHT [OUTER] JOIN

· 4.праве зовнішнє з’єднання дасть таблицю, яка містить всі рядки внутрішнього з’єднання плюс розширені значеннями NULL рядки таблиці Т2, які не задовольняють умові відбору.

FULL [OUTER] JOIN

· 5.повне зовнішнє з’єднання дасть таблицю, яка містить всі рядки внутрішнього з’єднання плюс розширені значеннями NULL рядки таблиць Т1 і Т2, які не задовольняють умові відбору.

UNION JOIN

· 6.розширений запит на з’єднання дасть таблицю, яка містить всі рядки таблиць Т1 і Т2, розширені значеннями NULL



<== предыдущая лекция | следующая лекция ==>
Зовнішні з’єднання в стандарті SQL2 | Багатотабличні з’єднання в стандарті SQL2.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.034 сек.