русс | укр

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

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

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

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


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

FROM STUDENTS, USP


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


WHERE STUDENTS.SNUM = USP.SNUM;

Висновок цього запиту приведений нижче:
SFAM SNUM PNUM SNUM

Поляків 3412 2001 3412

Поляків 3412 2003 3412

Старова 3413 2003 3413

Гріценко 3414 2005 3414

Нагірний 3416 2004 3416

Цей запит формує інформацію про студентів і коди учбових предметів, які ними здані. Це внутрішнє об'єднання дає п'ять рядків виведення, показуючи відповідні пари студент - код предмета. Для студента Котенко ніякого виведення немає, оскільки він ніяких дисциплін не здавав.

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

SELECT STUDENTS.SFAM, STUDENTS.SNUM

USP.PNUM, USP.SNUM

FROM STUDENTS, USP

WHERE STUDENTS.SNUM *=* USP.SNUM;

Результат цього запиту такий:

SFAM SNUM PNUM SNUM

Поляків 3412 2001 3412

Поляків 3412 2003 3412

Огарева 3413 2003 3413

Гріценко 3414 2005 3414

Котеняті 3415 NULL NULL

Нагірний 3416 2004 3416

В цей виведення попали рядки із значеннями NULL, тобто запис для студента Котенко був як би прив'язаний до неіснуючого рядка таблиці USP. містить тільки значення NULL, і додана в результат запиту. Як видно з цього прикладу, зовнішнє об'єднання є зберігаючим інформацію і кожний рядок таблиці - операнда уявлена у висновку результатів запиту. Отже, повне зовнішнє об'єднання таблиць виходить з внутрішнього об'єднання двох таблиць звичайним способом, при цьому кожний запис першої таблиці, яка не має зв'язку ні з одним рядком в другій таблиці, доповнюється в результатах запиту значеннями NULL. В той же час, кожний рядок другої таблиці, яка не має зв'язку ні з одним рядком першим таблиці, доповнюється в результатах запиту значеннями NULL.

Існує ще так звані ліве і праве зовнішні об'єднання. Якщо повне зовнішнє об'єднання симетричне по відношенню до обох таблиць-операндів, то ці два типи зовнішніх об'єднань не симетричні щодо двох таблиць.



Ліве зовнішнє об'єднання двох таблиць записується в команді WHERE у вигляді *= і виходить в результаті виконання внутрішнього об'єднання таблиць. При цьому відбуваються дії, аналогічні повному об'єднанню, проте без заміни NULL значеннями інформації, узятої з другої таблиці. Приклад лівого зовнішнього об'єднання фактично нами вже був розглянутий вище в прикладі для викладачів і предметів.

Праве зовнішнє об'єднання двох таблиць записується в команді WHERE у вигляді =* і виходить із звичайного внутрішнього об'єднання таблиць в послідовності реалізації повного об'єднання, при цьому заміна на NULL значення в першій таблиці не виробляється.

На практиці ліве і праве зовнішні об'єднання більш корисні, чим повне зовнішнє об'єднання, особливе при зв'язку таблиць через ключі. Система запису зовнішнього об'єднання дозволяє використати не тільки знак рівності, але і інші знаки відносин. Наприклад, припустимося наступного запиту, що представляє, по суті, ліве зовнішнє об'єднання:



<== предыдущая лекция | следующая лекция ==>
Об'єднання таблиць. | SELECT STUDENTS.SFAM, STUDENTS.SNUM


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


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

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

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


 


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

 
 

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

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