29.11.2014 Views

Capitolul II Structurarea bazelor de date

Capitolul II Structurarea bazelor de date

Capitolul II Structurarea bazelor de date

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

50<br />

Clauza JOIN este însă şi soluŃie într-o altă situaŃie, respectiv când într-un<br />

tabel se acceptă pentru o cheie străină valori nule. Un exemplu simplu este cel<br />

al tabelelor Angajati şi SoŃi prezentate în continuare.<br />

Dintre angajaŃii din primul tabel doi sunt căsătoriŃi, în cazul lor ID_SOT<br />

are valori nenule.<br />

Dacă se doreşte realizarea unei mulŃimi <strong>de</strong> selecŃie care să cuprindă<br />

angajaŃii, iar pentru cei căsătoriŃi numele şi prenumele soŃului/soŃiei, fraza<br />

SELECT ar putea fi următoarea:<br />

select Angajati.Nume, Angajati.Prenume,Soti.Nume_prenume<br />

from Angajati, Soti where Angajati.ID_SOT=SOTI.ID_SOT<br />

Rezultat:<br />

Rezultatul nu este cel dorit <strong>de</strong>oarece prin condiŃia pusă sunt excluşi din<br />

mulŃimea <strong>de</strong> selecŃie angajaŃii necăsătoriŃi.<br />

SoluŃia este oferită <strong>de</strong> clauza LEFT OUTER JOIN:<br />

select Angajati.Nume, Angajati.Prenume,Soti.Nume_prenume<br />

from Angajati left outer join Soti on Angajati.ID_SOT=SOTI.ID_SOT

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!