Documente Academic
Documente Profesional
Documente Cultură
Saptamana 6 - Sect - 3 - 4
Saptamana 6 - Sect - 3 - 4
Sections 3, 4
Database Programming
Join-uri
Obtinerea de informatii din mai multe tabele
OOcoloana
coloana
poate
poatefifi
prefixata
prefixatade
de
numele
numele
tabelului
tabeluluiin
in
care
carese
se
gaseste,
gaseste,
pentru
pentruaaevita
evita
confuziile.
confuziile.
Produsul cartezian
Un equijoin
combina liniile
din 2 tabele,
care au valori
echivalente
pentru
coloanele
specificate.
Equijoin
Se utilizeaza clauza
CROSS JOIN
Join-uri proprietate ANSI SQL: Natural Join
Un NATURAL JOIN se bazeaza pe toate coloanele din cele doua tabele care au acelasi nume.
Selecteaza liniile din cele doua tabele care au valori egale in coloanele implicate in join.
Daca avem coloane cu acelasi nume dar tipuri de date diferite, obtinem eroare
Natural
NaturalJoin-ul
Join-ul
se
seface
facedupa
dupa
coloana
coloana
comuna
comuna
Location_id.
Location_id.
Natural join cu clauza WHERE
Exemplul
Exemplularata arata
cum
cumse sepot
pot
restrictiona
restrictiona
liniile
liniileobtinute
obtinute
doar
doarla la
departamentel
departamentel
ee20
20sisi50.
50.
Natural Join cu clauza USING
Daca mai multe coloane au acelasi nume dar nu au acelasi tip de date, clauza NATURAL JOIN poate fi
modificata utilizand clauza USING.
Utilizam clauza USING pentru a specifica coloana dupa care se va face join cand mai multe coloane ar putea
fi utilizate.
Nu se utilizeaza nume sau alias de tabel pentru coloana specificata in clauza USING, in orice loc din
instructiunea SELECT.
Clauzele NATURAL JOIN si USING se exclud reciproc.
Clauza ON permite
utilizarea clauzei
WHERE pentru a
restrictiona liniile
obtinute.
Coloana
Coloana
location_id
location_idnunu
are nume sau
are nume sau
alias
aliasde
detabel,
tabel,
nici
nici chiarin
chiar in
clauza SELECT.
clauza SELECT.
Join-uri cu clauza ON
Se utilizeaza daca:
coloanele dupa care facem
join nu au acelasi nume
join-ul se bazeaza pe
altceva decat o conditie de
egalitate
vrem sa avem codul mai
usor de inteles.
Clauza ON permite utilizarea
clauzei WHERE pentru a
restrictiona liniile obtinute.
Exemplu join cu clauza ON
Am
Amfolosit
folosit
clauza
clauzaONON
pentru a
pentru a
specifica
specifica
coloanele
coloaneledupa
dupa
care
care se facejoin,
se face join,
acestea avand
acestea avand
nume
numediferite
diferite
Exemplu de join cu clauza ON si operator BETWEEN
Pentru
Pentrufiecare
fiecare
angajat
angajatseseafiseaza
afiseaza
salariul si gradul
salariul si gradul
acestuia
acestuia(A,(A,B,
B,C…)
C…)
JOIN cu 3 tabele si clauza ON