Not IN
select posada,zarplata,stazh from robitnyk where posada like '%a%'
and zarplata not in
(select zarplata from robitnyk where zarplata>3000)
and stazh not in
(select stazh from robitnyk where stazh<4);
All
Cинтаксис: операнд операція_gjhsdyzy ALL {підзапит)
Слово ALL, яке має слідувати за операцією порівняння, означає "повернути TRUE, якщо порівняння дає TRUE для всіх рядків, що повертаються підзапитом"
select full_name as name,nazva_tovaru as tovar from zeh where kod_zehu*10<all
(select kod_klienta from zamovlennya) order by full_name;
Any
Синтаксис:
операнд операція_порівняння ANY {підзапит)
Ключове слово ANY, яке має слідувати за операцією порівняння, означає "повернути TRUE, якщо порівняння дає TRUE для будь-якого з рядків, які повертає підзапит”
select kod_robitnyka,adressa from robitnyk where zarplata*100<any
(select cina from zamovlennya);
Exists
Якщо підзапит взагалі повертає якісь значення, то EXISTS підзапит повертає TRUE, a NOT EXISTS підзапит – FALSE.
select full_name,nayavnist_znyzhky from klient where full_name not like 'b%'
and exists (select kod_klienta from zamovlennya where zamovlennya.kod_klienta=klient.kod_klienta);
Not Exists
select full_name as name,nazva_zehu as zeh from zeh where kilkist_robitnykiv <50
and not exists (select nazva_tovaru from zamovlennya where zamovlennya.nazva_tovaru=zeh.nazva_tovaru);
|
|
Delete
delete from zamovlennya where kod_klienta<any
(select kod_klienta from klient);
Update
update zeh set kilkist_robitnykiv=kilkist_robitnykiv-10 where nazva_tovaru like'%a%' and kod_zehu*10<all
(select kod_klienta from zamovlennya);