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

Тази група включва подзаявки започващи с В, а не в или ключова дума сравнение оператор някои или всички.

Подзаявки започващи с В, а не в

Резултатът от подзаявка като се започне с ключова дума в, а не в списък, съдържащ нула или повече стойности. След завръщането на подзаявка, външен старт обработката на заявката.

В списъка за избор на вътрешния подзаявка може да включва само един израз или име на колона.

Колоната ли да посочите в клаузата WHERE на външния отчета трябва да са съвместими за сравнение с колоната ли да посочите в списъка за избор подзаявка.

Получаване на списък с клиенти от Сиатъл, подписаха договор за отдаване под наем на оборудване (оборудване под наем).

SQL:
SELECT фамилия, име, регион
ОТ tbl_clients
КЪДЕ област = 'Сиатъл "И CLIENT_ID ПО (
SELECT client_id
ОТ tbl_contract
JOIN tbl_service ON tbl_contract.service_id = tbl_service.service_id
КЪДЕ обслужване = 'оборудване под наем ")

Обърнете внимание на допустимостта на сдружаване и на няколко условия в клаузата WHERE като във вътрешната и във външната заявка.

Получите списък с клиенти от Сиатъл, подписаха договор за отдаване под наем на оборудване (например, обратна по-горе).

SQL:
SELECT фамилия, име, регион
ОТ tbl_clients
КЪДЕ област = 'Сиатъл "И CLIENT_ID НЕ ПО (
SELECT client_id
ОТ tbl_contract
JOIN tbl_service ON tbl_contract.service_id = tbl_service`service_id
КЪДЕ обслужване = 'оборудване под наем ")

Подзаявки, като се започне с операторите за сравнение и включват ключови думи ТАКИВА, или ALL

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

Ако подзаявка ще бъде предшестван от ключовата дума ALL, условието за сравнение е изпълнено само ако притежава всички стойности в резултат от колона подзаявка.

SQL:
SELECT contract_id, contract_date
ОТ tbl_contract
КЪДЕ contract_date> ALL (
SELECT contract_date
ОТ tbl_contract JOIN tbl_service ON tbl_contract.service_id = tbl_service.service_id
КЪДЕ обслужване = 'оборудване под наем ")

изпълнение на заявката се извършва на 2 етапа. Първо, вътрешната заявката избира списък с дати, на които договорите са сключени за отдаване под наем на оборудване. Външното търсене е най-голяма стойност в списъка на датите, както и за всеки договор в tbl_contract маса определя дали не се съдържат в contract_date голяма дата.

По този начин, ние получаваме списък на договорите, сключени след всички договори за отдаване под наем на оборудване.

ALL оператор, като правило, се използва ефективно с неравенството, а не с уравненията, тъй като стойността на "всички сме равни", която трябва да се включи в този случай, тъй като в резултат на подзаявка може да се осъществи само ако всички резултати са идентични.

В отчета за SQL <> Всичко, което наистина не е равна на някоя от резултатите от подзаявка.

Ако текст подзаявка предшествано от ключовата дума, ТАКИВА, условието за сравнение ще бъдат изпълнени, ако е изпълнено поне една (или повече) стойности в резултат от колона подзаявка.

SQL:
SELECT contract_id, contract_date
ОТ КЪДЕ tbl_contract contract_date SELECT contract_date
ОТ tbl_contract УЧАСТВА tbl_serviceON tbl_contract.service_id = tbl_service.service_id
КЪДЕ обслужване = 'оборудване под наем ")

Горната заявката намира договор, сключен преди първия договор за услуги е сключен.

Ако вътрешният под-заявката, като се започне с всички или някои, връща нулева стойност, се смята, че целият искането не успее. В този случай, те не получават никакви резултати, тъй като е невъзможно да се извърши сравнение със стойност NULL.

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

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