Zobecn∞nΘ porovnßvßnφ (SQL)

zobecn∞nΘ_porovnßnφ ::= v²raz  relaΦnφ_operßtor kvantifikßtor ( dotazov²_v²raz )
relaΦnφ_operßtor ::= < | > | = | <= | >= | <> 
kvantifikßtor  ::= SOME | ANY | ALL

Zobecn∞nΘ porovnßnφ porovnßvß hodnotu v²razu s mno₧inou hodnot zφskanou jako odpov∞∩ na dotazov² v²raz (subdotaz).

Pokud kvantifikßtor je SOME nebo ANY, pak zobecn∞nΘ porovnßnφ mß hodnotu TRUE, kdy₧ relace vyjßd°ena relaΦnφm operßtorem platφ pro alespo≥ jednu hodnotu z odpov∞di na subdotaz, mß hodnotu UNKNOWN, kdy₧ relace je UNKNOWN pro alespo≥ jednu hodnotu z odpov∞di na subdotaz, jinak mß hodnotu FALSE.

Pokud kvantifikßtor je ALL, pak zobecn∞nΘ porovnßnφ mß hodnotu TRUE, kdy₧ relace platφ pro vÜechny hodnoty z odpov∞di na subdotaz, mß hodnotu UNKNOWN, kdy₧ relace platφ nebo je UNKNOWN pro vÜechny hodnoty z odpov∞di na subdotaz, jinak mß hodnotu FALSE.

Z toho vypl²vß, ₧e je-li odpov∞∩ na subdotaz prßzdnß, pak zobecn∞nΘ porovnßnφ mß pro kvantifikßtor SOME nebo ANY hodnotu FALSE, pro kvantifikßtor ALL hodnotu TRUE.

Odpov∞∩ na subdotaz musφ b²t skalßrnφ a jejφ typ musφ b²t porovnateln² s typem v²razu.

Identifikßtory ANY a SOME jsou zcela ekvivalentnφ. Zßpis =ANY je ekvivalentnφ s predikßtem IN

P°φklad pou₧itφ:

Vybrat ty zam∞stnance, kte°φ majφ plat v∞tÜφ ne₧ vÜichni zam∞stnanci z Prahy

SELECT TAB1.jmeno,TAB1.plat
FROM Lidi TAB1
WHERE plat > ALL (SELECT plat
                  FROM Lidi 
                  WHERE adresa LIKE "%Praha%")