SQL Join

JOIN sherben per te bere nje query qe perfshin dy ose me shume tabela te cilat jane te lidhura logjikisht me njera tjetren.
Cdo tabele ka nje primary key(celesi kryesor) i cili eshte nje kolone me vlera unike, dmth qe brenga asaj kolone nuk mund te ekzistojne dy te dhena te njejta. Nje tabele mund te kete edhe foreign key(celes i huaj) i cili eshte nje kolone qe permbaj primary keqy te nje tabele tjeter te database. Kjo lidhje behet per te mos perseritur te njejtat vlera ne shume tabela.

Shifni si do ishin tabelat pa foreign key:

Tabela: Persona

P_Id Emri Mbiemri Qyteti Banore
1 Altin Molla Tirane 900.000
2 Stela Demiraj Durres 250.000
3 Andi Topi Korce 80.000

Tabela: Qyeteti

Q_Id Emri Banore
1 Tirane 900.000
2 Durres 250.000
3 Korce 80.000
4 Elbasan 100.000

Duket qarte se te dhenat e qyetetit jane te perseritura dy here. Kjo nuk eshte performante nga ana e perdorimit te memories. Gjithashtu imagjinoni te krijoni nje tabele te re, nqs doni te perdorni te dhenat e qyteteve duhet ti rishkruani te gjitha nga fillimi…

Per te shmangur keto probleme ne SQL eshte implentuar koncepti i lidhjes apo relationships midis tabelave.

Ne nje database relacionale tabelat e mesiperme do i gjeni keshtu :

Tabela: Persona

P_Id Emri Mbiemri Qyteti_Id
1 Altin Molla 1
2 Stela Demiraj 2
3 Andi Topi 3

Tabela: Qyeteti

Q_Id Emri Banore
1 Tirane 900.000
2 Durres 250.000
3 Korce 80.000
4 Elbasan 100.000

Tani per te bere nje query mbi database ku kerkoni te shifni per cdo person qytetin e tij duhet te perdorni JOIN. JOIN sherben per te shprehur lidhjen qe ekziston midis tabelave te cilat lidh. Query do ishte kjo :

SELECT Emri, Mbiemri, Qyteti
FROM Persona
JOIN Qyeteti ON Persona.Qyteti_Id = Qyteti.Q_Id

Rezultati:

Emri Mbiemri Qyteti
Altin Molla Tirane
Stela Demiraj Durres
Andi Topi Korce

Query e mesiperme mund te shkruhet edhe keshtu:

SELECT Emri, Mbiemri, Qyteti
FROM Persona, Qyteti

Rezultati do ishte i njejte por query e dyte eshte me pak performante. Keshilla jone eshte te perdorni gjithmone sintaksen e pare.

Ne leksionet ne vazhdim do shpjegohen llojet e ndryshme te JOIN.

  • Share/Bookmark

Reth autorit