U SQL-u imamo mogućnost povezivanja sadržaja dve tabele na više načina. Do sada smo u SQL prilozima videli klasično spajanje i spajanje tabela po osnovu jednakosti. Postoji još jedan način spajanja dve ili više tabela, odnosno njihovog dovođenja u korelaciju. Radi primera, kreiraćemo dve tabele, radi postavljanja korelacije. Prva će biti tabela "Radnik" koju ćemo kreirati sledećom instrukcijom:
CREATE TABLE Radnik (
Ime char (15),
Prezime char (20),
MBR int,
Sektor int ) ;
Potom ćemo kreirati i tabelu "Sektor", koja će čuvati podatke o sektorima neke fiktivne firme:
CREATE TABLE Sektor (
Sektor int ,
NazSektora char (30)) ;
Nakon kreiranja tabela, dodajte po nekoliko slogova u svaku tabelu naredbom INSERT. Potom možemo kreirati i jedan korelisani podupit (corelated subquery):
SELECT *
FROM Radnik AS R
WHERE 'Finansije' = (SELECT NazSektora
FROM Sektor S
WHERE S.Sektor = R.Sektor);
Ovaj korelisani podupit će dati iste rezultate (vidi sliku) kao i upit spajanja po jednakosti:
SELECT Ime, Radnik, Sektor
FROM Radnik AS R, Sektor AS S
WHERE S.Sektor = R.Sektor
S.NazSektora = 'Finansije';
Vezu između ove dve tabele kod korelacije, smo uspostavili upotrebom elemenata iz upita u podupitu, tj. poredimo broj sektora iz tabele "S.Sektor" (koja se nalazi u podupitu), i broj sektora koji se nalazi u tabeli "S.Radnik" :
WHERE S.Sektor = R.Sektor
S obzirom da sektor iz tabele "Radnik" može imati različite vrednosti za svaki slog u tabeli, podupit će se izvršavati za svaki slog iz upita.