русс | укр

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

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

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

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


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

Системи запису зовнішнього з’єднання


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


Оскільки поняття зовнішнього з’єднання не ввійшло в стандарт SQL-1, то виробники тих СУБД, в яких це поняття було реалізоване, використовували самі різні системи запису в своїх діалектах SQL.

Наприклад, та система, яку ми розглядали (*=*) – використовується в SQL Server.

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

Для позначення повного зовнішнього з’єднання * ставиться зліва і справа від операції:

WHERE

Для позначення лівого зовнішнього з’єднання * ставиться лише зліва:

WHERE

а правого зовнішнього з’єднання – справа:

WHERE

( , - це зв’язані стовпчики із двох таблиць і

відповідно)

Так само позначаються і інші види зовнішніх - сполучень і символ * добавляється до знаку відповідної операції порівняння; наприклад

WHERE

В СУБД Oracle також є зовнішні з’єднання, але вони позначаються по-іншому: зовнішнє з’єднання в секції WHERE позначається знаком + в ( ), тобто „(+)” – ці символи записуються справа від імені стовпчика тої таблиці, в яку добавляються рядки із значеннями NULL (тобто, допоміжної таблиці). Ліве зовнішнє з’єднання позначається так:

WHERE

а праве зовнішнє з’єднання – так:

WHERE

Повне зовнішнє з’єднання в Oracle не підтримується.

Зверніть увагу: знак (+) знаходиться на протилежній стороні по відношенню до тої, на якій знаходиться *.

Такі системи позначень мають недоліки:

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

- неможливо коректно і точно записати зовнішнє з’єднання трьох і більше таблиць.

- запис зовнішнього з’єднання в секції WHERE вносить певну плутанину: згідно пояснень, як отримуються результати запиту,

= спочатку аналізується секція FROM і формується декартовий добуток таблиць, вказаних в ній,



= потім – із таблиці декартового добутку вилучаються рядки, які не дозволяють умові відбору секції WHERE.

Але декартовий добуток взагалі не містить рядків із значеннями NULL, які входять у зовнішнє з’єднання!

потрібно вносити корективи в схему, яка пояснює що саме буде отримано в результаті запиту:

= спочатку – проаналізувати секцію WHERE – чи необхідно виконувати зовнішнє з’єднання

. . . . .

Ці недоліки вдалося подолати в стандарті SQL2.



<== предыдущая лекция | следующая лекция ==>
FROM Girls RIGHT JOIN Boys | З’єднання і стандарт SQL2


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


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

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

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


 


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

 
 

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

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