Documente Academic
Documente Profesional
Documente Cultură
_____________________________________________________________________
Jonctiuni externe
Functia DECODE si expresia CASE
1) Jonctiuni externe
Permit regasirea inregistrarilor comune si in plus fata de jonctiunea de egalitate si a
celor care se regasesc doar intr-o singura tabela.
Jonctiunea se poate realiza precizand in dreptul legaturii dintre tabele a semnului (+),
de exemplu conditia: tabela_A.cheie_primara=tabela_B.cheie_externa(+) va returna
inregistrarile comune si a celor care apartin doar tabelei A.
Exemple:
...
1
BAZE DE DATE – SEMINAR 9
_____________________________________________________________________
...
Sintaxa este:
Expresia CASE – este utilizata pentru calcularea si returnarea unor expresii in functie
de anumite conditii diverse in care se pot utiliza operatori de comparatie, nu
numai operatorul de egalitate.
Sintaxa este:
2
BAZE DE DATE – SEMINAR 9
_____________________________________________________________________
1) CASE [VARIABILA]
WHEN conditie1 THEN expresie1
WHEN conditie2 THEN expresie2
…………………………………….
WHEN conditie_n THEN expresie_n
ELSE valoare n+1 implicita
END
Sau daca se utilizeaza comparatii pe variabile sau coloane diferite se poate apela la
varianta urmatoare:
2) CASE
WHEN VARIABILA1 conditie1 THEN expresie1
WHEN VARIABILA2 conditie2 THEN expresie2
…………………………………….
WHEN VARIABILA conditie_n THEN expresie_n
ELSE valoare n+1 implicita
END
Exemple:
3
BAZE DE DATE – SEMINAR 9
_____________________________________________________________________
...
4
BAZE DE DATE – SEMINAR 9
_____________________________________________________________________
Case imbricat
select nume_client, limita_credit, starea_civila,
case
when starea_civila ='married' then
case when limita_credit <400
then 'married with low budget'
when limita_credit between 400 and 1000
then 'married with medium budget'
else 'married with high budget' end
else 'single' end clasificare
from clienti;
5
BAZE DE DATE – SEMINAR 9
_____________________________________________________________________
daca zona firmei este Orientul mijlociu si Africa atunci CT=18% din valoarea
totala a comenzilor