This shows you the differences between two versions of the page.
bd:laboratoare:05 [2019/03/16 22:51] iulia.radulescu |
bd:laboratoare:05 [2021/03/30 13:17] (current) ciprian.truica [Exerciții individuale] |
||
---|---|---|---|
Line 14: | Line 14: | ||
==== Materiale ajutătoare ==== | ==== Materiale ajutătoare ==== | ||
+ | |||
+ | [[bd:resurse:tables|Resurse BD]] | ||
+ | |||
==== Noțiuni teoretice ==== | ==== Noțiuni teoretice ==== | ||
Line 38: | Line 41: | ||
* **column_alias** – este un nume alocat unei coloane(expresii) care va fi folosit în formatarea coloanei (numele care apare în antetul listei); | * **column_alias** – este un nume alocat unei coloane(expresii) care va fi folosit în formatarea coloanei (numele care apare în antetul listei); | ||
* **WHERE condition** – reprezintă o clauză (înlănțuire de condiții) care trebuie să fie îndeplinită în criteriul de selecție a înregistrărilor; | * **WHERE condition** – reprezintă o clauză (înlănțuire de condiții) care trebuie să fie îndeplinită în criteriul de selecție a înregistrărilor; | ||
- | * **ORDER BY {expresion|position} [ASC|DESC]** – ordonează înregistrările selectate după coloanele din expresie sau în ordinea coloanelor (selecterate în clauza SELECT) specificate prin poziție. | + | * **ORDER BY {expresion|position} [ASC|DESC]** – ordonează înregistrările selectate după coloanele din expresie sau în ordinea coloanelor (selectate în clauza SELECT) specificate prin poziție. |
<code sql> | <code sql> | ||
Line 52: | Line 55: | ||
=== CROSS JOIN (Produsul Cartezian) === | === CROSS JOIN (Produsul Cartezian) === | ||
* Produsul cartezian (Cross Join) a două tabele se obține prin concatenarea fiecărei linii dintr-o tabelă cu fiecare linie din cealaltă tabelă; | * Produsul cartezian (Cross Join) a două tabele se obține prin concatenarea fiecărei linii dintr-o tabelă cu fiecare linie din cealaltă tabelă; | ||
- | * Rezultatul este un număr de linii egal cu produsul cartezian dintre numărul de linii din fiecare tabela din cluaza FROM. Această situație este mai puțin practică și se întâlnește, de regulă, când sunt puse greșit condițiile. | + | * Rezultatul este un număr de linii egal cu produsul cartezian dintre numărul de linii din fiecare tabela din clauza FROM. Această situație este mai puțin practică și se întâlnește, de regulă, când sunt puse greșit condițiile. |
* Sintaxa CROSS JOIN este: | * Sintaxa CROSS JOIN este: | ||
<code sql> | <code sql> | ||
Line 225: | Line 228: | ||
== Right Outer Join == | == Right Outer Join == | ||
- | Fie două tabele A și B. Operația de Left Outer Join (A Right Outer Join B) returnează toate înregistrările din tabela B și, în cazul în care nu găsește o corespondență în tabela A va întoarce NULL, altfel va întoarce valorile selectate din tabela A. | + | Fie două tabele A și B. Operația de Right Outer Join (A Right Outer Join B) returnează toate înregistrările din tabela B și, în cazul în care nu găsește o corespondență în tabela A va întoarce NULL, altfel va întoarce valorile selectate din tabela A. |
* Sintaxa Right Outer Join (merge doar în Oracle): | * Sintaxa Right Outer Join (merge doar în Oracle): | ||
<code sql> | <code sql> | ||
Line 246: | Line 249: | ||
</code> | </code> | ||
== Full Outer Join == | == Full Outer Join == | ||
- | Fie două tabele A și B. Operația de Left Outer Join (A Right Outer Join B) returnează toate înregistrările din tabela A și B și, în cazul în care nu găsește o corespondență în tabela A sau B va întoarce NULL, altfel va întoarce valorile selectate din tabela A sau B. | + | Fie două tabele A și B. Operația de Full Outer Join (A Full Outer Join B) returnează toate înregistrările din tabela A și B și, în cazul în care nu găsește o corespondență în tabela A sau B va întoarce NULL, altfel va întoarce valorile selectate din tabela A sau B. |
* Sintaxa Full Outer Join (recomandată de ultimul standard SQL, merge în toate SGBD-urile) este: | * Sintaxa Full Outer Join (recomandată de ultimul standard SQL, merge în toate SGBD-urile) este: | ||
<code sql> | <code sql> | ||
Line 302: | Line 305: | ||
{{:bd:laboratoare:lab5_15.png?nolink&250|}} | {{:bd:laboratoare:lab5_15.png?nolink&250|}} | ||
+ | |||
+ | ====Exerciții individuale==== | ||
+ | - Să se facă o listă cu: | ||
+ | * Nume Angajat | ||
+ | * Departament Angajat | ||
+ | * Grad Angajat | ||
+ | * Nume Sef | ||
+ | * Departament Sef | ||
+ | * Grad Sef | ||
+ | |||
+ | Sa se afiseze toate rezutlatele, chiar daca nu se gasesc legaturi de JOIN intre intregistrarile din diferitele tabele. | ||