Пълно ръководство на Sql
- Начална страница
- База данни
- С и С++
- Данни
- Обекти
- Оператори
- Приложения
- Дизайн
- Програмиране
- Изпълнение
- Кв
- Системи
- Популярни статии
- UEFI
- Как се появиха езиците за програмиране?
- Защо е по-добре да програмирате в IDE, отколкото в бележника?
- Какво е обектно-ориентирано програмиране?
- OOP, UML и Java
- Байпасна защита в Oracle
- Подобрете стила си на програмиране
- Защо си струва да станете програмист?
- Проектиране на софтуерен проект
- Защо 12 езика за програмиране шокираха света?
- Какво е диаграма на случая на употреба (UML)?
- Какви са алгоритмите за компресиране на данни?
- Как да се науча на програмиране?
- Какво представляват масивите в програмирането?
- Хипертекстови технологии
- Как да изберем език за програмиране за разработване на уебсайт?
в SQL Server. В тази база данни външното присъединяване се обозначава чрез добавяне на звездичка (*) към оператора за сравнение в клаузата where, указваща условието за присъединяване. За да се обозначи пълна външна връзка на две таблици Tvy и TBL2 чрез свързаните колони соя и C0L2, звезда (*) се поставя вляво и вдясно от оператора;
КЪДЕ C0L1 * = * C0L2
За да посочите ляво външно съединение, звездичка се поставя само отляво:
КЪДЕ C0L1 * = C0L2
а дясното външно съединение е отдясно:
КЪДЕ C0L1 = * C0L2
Същата нотация се използва и с други оператори за сравнение, например:
КЪДЕ C0L1 *> = C0L2
Oracle също поддържа външно присъединяване, но използва различна система за запис. Външно присъединяване в клауза where е обозначено със знак плюс в скоби вдясно от името на колоната на таблицата, към която добавяте нулеви редове (т.е. спомагателната таблица). Условието за избор, което дефинира лявото външно съединение, изглежда така:
КЪДЕ C0L1 = C0L2 (+)
и дефиниращото дясно външно съединение е по следния начин:
КЪДЕ C0L1 (+) = C0L2
Имайте предвид, че знакът плюс е на противоположната страна на израза от звездичката, който се използва в нотация на SQL Server. Пълно външно присъединяване не се поддържа в Oracle.
Въпреки че и двете описани системи за писане на външно съединение са относително удобни, те въпреки това донякъде подвеждат. Съгласно правилата за обработка на SQL заявка за селекция, дадени в табл. 7.1, първо се анализира клаузата от и се формира произведението на две таблици, а след това от нея се изключват редове, които не отговарят на условието за избор в клаузата къде. Но продуктът не съдържа нулевите низове във външния съюз! Клаузата from не казва на СУБД кой съюз - вътрешен или външен - да изгради. Как тези редове попадат в резултатите от заявката? Отговорът е, че когато формира продукта, СУБД е принуден да се позовава на клаузата where, за да разбере дали да включва нулеви низове в продукта. Също така две таблици могат да бъдат обединени, като се използват повече от една двойка свързани колони и не е ясно как трябва да се използва системата за нотация, ако има две или три двойки свързани колони.