Tālāk ir norādītas nosacījuma izteiksmes SQL
- CASE izteiksme: ļauj izmantot IF-THEN-ELSE priekšrakstus, neizsaucot procedūras.
-
Input: SELECT GREATEST('XYZ', 'xyz') from dual;>Output: GREATEST('XYZ', 'xyz') xyz>Paskaidrojums: Mazo alfabētu ASCII vērtība ir lielāka.
-
Input: SELECT GREATEST('XYZ', null, 'xyz') from dual; Output: GREATEST('XYZ', null, 'xyz') ->Paskaidrojums: Tā kā nulle ir klāt, nulle tiks parādīta kā izvade (kā minēts iepriekš aprakstā).
-
Input: SELECT IFNULL(1,0) FROM dual;>
Output: - 1>
Paskaidrojums: Tā kā neviena izteiksme nav nulle.
-
Input: SELECT IFNULL(NULL,10) FROM dual; Output: -- 10>
Paskaidrojums: Tā kā izteiksme1 ir nulle, tiek parādīts izteikums2.
-
strong>Ievade: SELECT LAST('XYZ', 'xyz') no dual; Izvade: LEAST('XYZ', 'xyz') XYZ>Paskaidrojums: Lielo alfabētu ASCII vērtība ir mazāka.
-
Input: SELECT LEAST('XYZ', null, 'xyz') from dual; Output: LEAST('XYZ', null, 'xyz') ->Paskaidrojums: Tā kā nulle ir klāt, nulle tiks parādīta kā izvade (kā minēts iepriekš aprakstā).
Vienkāršā CASE izteiksmē SQL meklē pirmo WHEN……THEN pāri, kuram expr ir vienāds ar salīdzinājuma_ekspr., un atgriež return_expr. Ja iepriekš minētais nosacījums nav izpildīts, pastāv ELSE klauzula, SQL atgriež else_expr. Pretējā gadījumā atgriež NULL.
Mēs nevaram norādīt literālu nulli parametriem return_expr un else_expr. Visām izteiksmēm (ekspr, salīdzinājuma_ekspr., atgriešanās_ekspr.) ir jābūt viena veida datu tipiem.
Sintakse:
CASE expr WHEN comparison_expr1 THEN return_expr1 [ WHEN comparison_expr2 THEN return_expr2 . . . WHEN comparison_exprn THEN return_exprn ELSE else_expr] END>
Piemērs:
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;>
Izvade:

Paskaidrojums : Iepriekš minētajos SQL priekšrakstos departamenta_id vērtība tiek atšifrēta. Ja ir 50 tad algu maksā 1,5 reizes, ja ir 12 tad algu veido 2 reizes, citādi alga nemainās. Funkcija DECODE: atvieglo nosacītas izmeklēšanas, veicot CASE vai IF-THEN-ELSE paziņojumu.
Funkcija DECODE atkodē izteiksmi līdzīgi kā dažādās valodās izmantotā IF-THEN-ELSE loģika. Funkcija DECODE atkodē izteiksmi pēc salīdzināšanas ar katru meklēšanas vērtību. Ja izteiksme ir tāda pati kā meklēšana, tiek atgriezts rezultāts.
Ja noklusējuma vērtība tiek izlaista, tiek atgriezta nulles vērtība, ja meklēšanas vērtība neatbilst nevienai no rezultāta vērtībām.
Sintakse:
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;>
Izvade:
Paskaidrojums: Iepriekš minētajos SQL priekšrakstos tiek pārbaudīta departamenta_id vērtība. Ja ir 50 tad algu maksā 1,5 reizes, ja ir 12 tad algu veido 2 reizes, citādi alga nemainās.
PIEZĪME. Tāpat kā CASE izteiksmes, COALESCE arī nenovērtēs argumentus pa labi no pirmā atrastā argumenta, kas nav nulle.
Sintakse:
COALESCE( value [, ......] )>
Input: SELECT COALESCE(last_name, '- NA -') from Employee;>
Izvade:
Paskaidrojums: - NA - tiks parādīts vietā, kur uzvārds ir nulle, pretējā gadījumā tiks parādīti attiecīgie uzvārdi. GREATEST: atgriež lielāko vērtību no jebkura skaita izteiksmju saraksta. Salīdzināšana ir reģistrjutīga. Ja visu sarakstā esošo izteiksmju datu tipi nav vienādi, visas pārējās izteiksmes tiek pārveidotas par pirmās izteiksmes datu tipu salīdzināšanai, un, ja šī konvertēšana nav iespējama, SQL parādīs kļūdu.
PIEZĪME: Atgriež nulli, ja kāda izteiksme sarakstā ir nulle.
Sintakse:
GREATEST( expr1, expr2 [, .....] )>
Sintakse:
IFNULL( expr1, expr2 )>
PIEZĪME. Tāpat kā CASE un COALESCE izteiksmes, IN arī nenovērtēs argumentus pa labi no pirmā atrastā argumenta, kas nav nulle.
Sintakse:
WHERE column IN ( x1, x2, x3 [,......] )>
Input: SELECT * from Employee WHERE department_id IN(50, 12);>
Izvade:

Paskaidrojums: Visi Darbinieku dati tiek rādīti ar nodaļas ID 50 vai 12.
LAST: atgriež mazāko vērtību no jebkura skaita izteiksmju saraksta. Salīdzināšana ir reģistrjutīga. Ja visu sarakstā esošo izteiksmju datu tipi nav vienādi, visas pārējās izteiksmes tiek pārveidotas par pirmās izteiksmes datu tipu salīdzināšanai, un, ja šī konvertēšana nav iespējama, SQL parādīs kļūdu.PIEZĪME. Atgriež nulli, ja kāda izteiksme sarakstā ir nulle.
Sintakse:
LEAST( expr1, expr2 [, ......] )>
Sintakse:
NULLIF( value1, value2 )>
Piemērs:
Input: SELECT NULLIF(9995463931, contact_num) from Employee;>
Izvade:

Paskaidrojums: Darbiniekam, kura numurs ir saskaņots ar doto numuru, tiek parādīts NULL. Pārējiem darbiniekiem tiek atgriezta vērtība1.