Self JOIN
Sunt situatii in care este necesar ca un tabel sa intre in
asociere cu el insusi.
Exemplu: Se doreste gasirea tuturor facturilor care au
fost emise la o data ulterioara datei in care a fost emisa factura
cu numarul 12345.
In acest caz, tabelul Facturi va fi accesat de doua ori: prima
oara pentru a gãsi inregistrarea corespunzatoare pentru numar
= 12345, cu toate valorile corespunzatoare ale campurilor (inclusiv
data=data1), dupa care se vor determina acele inregistrari ale caror
valori in campul data sunt superioare valorii data1
Sintaxa ORACLE
SELECT f1.numar, f1.data, f1.cod
FROM facturi f, facturi f1
WHERE f.numar = 12345 and f.fata < f1.data;
Sintaxa SQL:99
SELECT f1.numar, f1.data, f1.cod
FROM facturi f JOIN facturi f1
ON (f.fata = f1.data) and f.numar = 12345
;