ПредишенСледващото

Също така се изисква Преименуване, ако се използва в ОТ клауза на подзаявка. Така, първият пример може да бъде пренаписана, както следва:

SELECT DISTINCT PC.model, машина
От компютъра,
(SELECT машина, модел
От продукта) като про
КЪДЕ PC.model = prod.model и цената <600;

Имайте предвид, че в този случай, останалите клаузи на SELECT изявление вече не е възможно да се използва квалификант Продукта. като вече не се използва таблицата на продукта. Вместо това, той използвал псевдоним остена. Освен това, сега можете да се отнасят само до областта на маса на продукта. които са изброени в подзаявка.

изрична операция линк две или повече таблици могат да бъдат определени в ОТ клауза. Сред няколко съединения от операциите, описани в стандарта SQL езика, много сървъри на бази данни, поддържани само работа, за да се присъединят към предикат. Синтаксис съединение предикат има формата:

Съединението може да бъде вътрешен (вътрешна), или един от външен (външен). Функционални думи вътрешната и външната може да бъде пропусната, тъй като външната връзка е уникално, определен от неговия вид - НАЛЯВО (вляво), НАДЯСНО (вдясно) или FULL (пълна), а просто JOIN ще означава вътрешна връзка.

Състоянието на предикат определя съединение редове от различни таблици. Така ВЪТРЕШЕН УЧАСТВА означава, че множеството резултат ще включва само тези съединения с редици от две таблици, за което стойността на предиката равни вярно. Като правило, сказуемото определя Равно-присъединят отвън и първичния ключ на присъединиха маси, въпреки че това не е задължително.

Пример. Намери производителя, номера на модела и цената на всеки компютър, свързан с базата данни:

SELECT машина, Product.model AS model_1, PC.model AS model_2, цена
ОТ продукта Вътрешен JOIN PC ON PC.model = Product.model
ORDER BY машина, PC.model;


В този пример, комплектът резултат ще се свърже само тези редове от таблиците за PC и продукта. които имат един и същ номер на модела.
За да контролирате резултата е включена като номера на модела на масата за PC. и масата на продукта:

Тъй като моделите 2111 и 2112 от таблицата на продукта не е в таблицата с компютър. в областта на масата за PC съдържа NULL.
Съединение НАДЯСНО УЧАСТВА обратно съединение НАЛЯВО присъедини. т.е. в комплекта резултат ще включва всички редове от втората таблица, която ще бъде свързана само с тези редове от първата таблица, за която присъединят състояние. В този случай, на левия връзката

Каталог НАЛЯВО JOIN PC ON PC.model = Product.model

Това е еквивалентно на правото, съединението

PC ПРАВО JOIN продукт на PC.model = Product.model

SELECT машина, Product.model AS model_1, PC.model AS model_2, цена
ОТ ПРАВО Каталог JOIN PC ON PC.model = Product.model
ORDER BY машина, PC.model;


Тя ще даде същите резултати като вътрешната връзка, тъй като масата дясната (PC) не съществуват модели, които отсъстват в лявата таблица (Product), което е съвсем естествено за връзката като "един към много", която е на разположение между масата за PC и продукта. На последно място, цялото съединение (FULL JOIN) в таблицата с резултат падне не само тези редове, които имат едни и същи стойности в колоните, които се сравняват, но също така и всички редовете на изходни таблици, които не притежават съответните стойности в друга таблица. В тези редове, всички колони от таблицата, в която е установено мача, изпълнена с NULL-стойности. Пълен съединение е комбинация от ляво и дясно външни фуги.
От искане за таблици А и Б, като се има в началото на тази глава,

SELECT А. *, * Б.
ОТ ПЪЛНО УЧАСТВА В
ON А.а = B.c;


се получават следните резултати:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!