Toliau pateikiamos sąlyginės išraiškos SQL
- CASE išraiška: leidžia naudoti IF-THEN-ELSE sakinius, nereikalaujant procedūrų.
-
Input: SELECT GREATEST('XYZ', 'xyz') from dual;>Output: GREATEST('XYZ', 'xyz') xyz>Paaiškinimas: Mažų abėcėlių ASCII reikšmė yra didesnė.
-
Input: SELECT GREATEST('XYZ', null, 'xyz') from dual; Output: GREATEST('XYZ', null, 'xyz') ->Paaiškinimas: Kadangi yra nulis, tai nulis bus rodomas kaip išvestis (kaip minėta aukščiau esančiame aprašyme).
-
Input: SELECT IFNULL(1,0) FROM dual;>
Output: - 1>
Paaiškinimas: Kadangi jokia išraiška nėra nulinė.
-
Input: SELECT IFNULL(NULL,10) FROM dual; Output: -- 10>
Paaiškinimas: Kadangi expr1 yra nulinis, tai rodomas expr2.
-
strong>Įvestis: SELECT LAST('XYZ', 'xyz') iš dual; Išvestis: LEAST('XYZ', 'xyz') XYZ>>Paaiškinimas: Didžiosios abėcėlės ASCII reikšmė yra mažesnė.
-
Paaiškinimas: Kadangi yra nulis, tai nulis bus rodomas kaip išvestis (kaip minėta aukščiau esančiame aprašyme).
Paprastoje CASE išraiškoje SQL ieško pirmosios WHEN……THEN poros, kurios išraiška yra lygi palyginimo_išreikšm ir grąžina return_expr. Jei aukščiau nurodyta sąlyga netenkinama, yra ELSE sąlyga, SQL grąžina else_expr. Kitu atveju grąžina NULL.
Negalime nurodyti pažodinio nulio, skirto return_expr ir else_expr. Visos išraiškos (išreikšm., palyginimo_išreikšm., grąžos_išreikšm.) turi būti to paties duomenų tipo.
Sintaksė:
CASE expr WHEN comparison_expr1 THEN return_expr1 [ WHEN comparison_expr2 THEN return_expr2 . . . WHEN comparison_exprn THEN return_exprn ELSE else_expr] END>
Pavyzdys:
Input : SELECT first_name, department_id, salary, CASE department_id WHEN 50 THEN 1.5*salary WHEN 12 THEN 2.0*salary ELSE salary END 'REVISED SALARY' FROM Employee;>
Išvestis:

Paaiškinimas : Aukščiau pateiktuose SQL sakiniuose departamento_id reikšmė dekoduojama. Jei 50, tai atlyginimas mokamas 1,5 karto, jei 12, tada atlyginimas mokamas 2 kartus, kitaip atlyginimas nesikeičia. Funkcija DECODE: palengvina sąlyginius užklausas, atliekant CASE arba IF-THEN-ELSE teiginį.
Funkcija DECODE dekoduoja išraišką panašiai kaip IF-THEN-ELSE logika, naudojama įvairiose kalbose. Funkcija DECODE iššifruoja išraišką, palyginusi ją su kiekviena paieškos reikšme. Jei išraiška yra tokia pati kaip paieškos, pateikiamas rezultatas.
Jei numatytoji reikšmė praleista, grąžinama nulinė reikšmė, kai paieškos reikšmė neatitinka nė vienos iš rezultatų reikšmių.
Sintaksė:
bfs paieška
DECODE (col/expression, search1, result1 [, search2, result2,........,] [, default])>
Input : SELECT first_name, department_id, salary, DECODE(department_id, 50, 1.5*salary, 12, 2.0*salary, salary) 'REVISED SALARY' FROM Employee;>
Išvestis:
Paaiškinimas: Aukščiau pateiktuose SQL sakiniuose tikrinama departamento_id reikšmė. Jei 50, tai atlyginimas mokamas 1,5 karto, jei 12, tai atlyginimas mokamas 2 kartus, kitaip atlyginimas nesikeičia.
PASTABA: kaip ir CASE išraiškos, COALESCE taip pat neįvertins argumentų, esančių dešinėje nuo pirmojo rasto argumento, kuris nėra nulis.
Sintaksė:
COALESCE( value [, ......] )>
Input: SELECT COALESCE(last_name, '- NA -') from Employee;>
Išvestis:
Paaiškinimas: - NA - bus rodomas toje vietoje, kur pavardė yra nulinė, kitu atveju bus rodomos atitinkamos pavardės. GREATEST: grąžina didžiausią reikšmę iš bet kokio skaičiaus išraiškų sąrašo. Palyginimui skiriamos didžiosios ir mažosios raidės. Jei visų sąraše esančių išraiškų duomenų tipai nėra vienodi, visos likusios išraiškos konvertuojamos į pirmosios išraiškos duomenų tipą, kad būtų galima palyginti, ir jei šis konvertavimas neįmanomas, SQL parodys klaidą.
PASTABA: Grąžina nulį, jei bet kuri sąrašo išraiška yra nulinė.
Sintaksė:
GREATEST( expr1, expr2 [, .....] )>
Sintaksė:
java int į dvigubą
IFNULL( expr1, expr2 )>
PASTABA: kaip ir CASE ir COALESCE išraiškos, IN taip pat neįvertins argumentų, esančių dešinėje nuo pirmojo rasto argumento, kuris nėra nulis.
Sintaksė:
WHERE column IN ( x1, x2, x3 [,......] )>
Input: SELECT * from Employee WHERE department_id IN(50, 12);>
Išvestis:

Paaiškinimas: Visi Darbuotojų duomenys rodomi su skyriaus ID 50 arba 12.
ciklas javaMAŽIAUSIA: grąžina mažiausią reikšmę iš bet kokio skaičiaus išraiškų sąrašo. Palyginimui skiriamos didžiosios ir mažosios raidės. Jei visų sąraše esančių išraiškų duomenų tipai nėra vienodi, visos likusios išraiškos konvertuojamos į pirmosios išraiškos duomenų tipą, kad būtų galima palyginti, ir jei šis konvertavimas neįmanomas, SQL parodys klaidą.
PASTABA: Grąžina nulį, jei bet kuri sąrašo išraiška yra nulinė.
Sintaksė:
LEAST( expr1, expr2 [, ......] )>
Sintaksė:
NULLIF( value1, value2 )>
Pavyzdys:
Input: SELECT NULLIF(9995463931, contact_num) from Employee;>
Išvestis:

žemėlapis mašinraščiu
Paaiškinimas: NULL rodomas darbuotojui, kurio numeris sutampa su nurodytu numeriu. Likusiems darbuotojams grąžinama vertė1.