JOIN-urile SQL sunt printre cele mai frecvent testate topice la examenul IT Specialist Databases. Fiecare tip de JOIN returnează o mulțime diferită de rânduri — și Certiport testează asta precis.
Ce este un JOIN?
Un JOIN combină rânduri din două tabele pe baza unei condiții de legătură (de obicei o cheie externă). Rezultatul depinde de tipul de JOIN folosit.
INNER JOIN — numai rândurile comune
SELECT e.nume, d.departament
FROM elevi e
INNER JOIN departamente d ON e.dep_id = d.id;
Returnează numai rândurile care au pereche în ambele tabele. Rândurile fără pereche sunt excluse din ambele tabele.
LEFT JOIN — toate din stânga + perechile din dreapta
SELECT e.nume, d.departament
FROM elevi e
LEFT JOIN departamente d ON e.dep_id = d.id;
Returnează toate rândurile din tabelul stâng (elevi) și rândurile potrivite din tabelul drept. Dacă nu există pereche în dreapta, câmpurile din dreapta sunt NULL.
RIGHT JOIN — opusul LEFT JOIN
SELECT e.nume, d.departament
FROM elevi e
RIGHT JOIN departamente d ON e.dep_id = d.id;
Returnează toate rândurile din tabelul drept și perechile din stânga. Mai rar întâlnit în practică — LEFT JOIN cu ordinea tabelelor inversată dă același rezultat.
FULL OUTER JOIN — toate rândurile
SELECT e.nume, d.departament
FROM elevi e
FULL OUTER JOIN departamente d ON e.dep_id = d.id;
Returnează toate rândurile din ambele tabele. Unde nu există pereche, câmpurile sunt NULL.
Cum să le reții pentru examen
Gândește-te la diagrame Venn:
- INNER = intersecția (mijlocul)
- LEFT = cercul stâng + intersecție
- RIGHT = cercul drept + intersecție
- FULL = ambele cercuri complet
Tipuri de întrebări la examenul Certiport
Certiport testează JOIN-urile în mai multe feluri:
- Câte rânduri returnează un JOIN dat (cu tabele mici prezentate vizual)
- Ce tip de JOIN produce un anumit rezultat
- Completarea clauzei ON lipsă
- Diferența dintre INNER și LEFT JOIN cu NULL-uri
Exersează pe certiPass.md cu exerciții asemănătoare — inclusiv întrebări cu tabele vizuale și output-uri de comparat.