Facebook iconTwitter icon

Nachádzate sa tu

Domov

06. SQL JOIN

V tomto článku sa zameriame na spájanie (join) tabuliek, na ktorom je celý prístup databáz založený. Podstatou databázy nie je mať všetky dáta v jednej obrovskej tabuľke, ale v logickej sústave tabuliek, ktoré cez joiny prepojíme a tak vyskladáme želaný report.

Na ilustraciu použijeme iný príklad, kde pre korešpondenčné účely do tabuľky zákazníkov, dotiahneme ku mestu odkaľ je zákazník Poštové smerové číslo. Je nutné si uvedomiť, že polia(stĺpce), cez ktoré chcetme tabuľky spojiť, musia obsahovať zhodné hodnoty rovnakého dátového typu.

V našom prípade použijeme stĺpce mesto. Základná syntax pre spájanie tabuliek predstavuje JOIN a ON.

SELECT tabulka_zakaznikov.meno, tabulka_zakaznikov.priezvysko, tabulka_zakaznikov.mesto, tabulka_PSC.PSC

FROM tabulka_zakaznikov LEFT JOIN tabulka_PSC ON tabulka_zakaznikov.mesto = tabulka_PSC.mesto

Na to aby sme nemuseli zakaždým vypisovať tabulka_zakaznikov resp. tabulka_PSC. zavedieme si do SQL skriptu aliasy, ktoré ho krásne sprehladnia. Alias znamená, že tabuľke dáme dočasne iné meno(prezívku) prostredníctvom príkazu AS. Tabuľku zakaznikov premenujeme na a, pricom tabulku PSC premenujeme na b.

SELECT a.meno, a.priezvysko, a.mesto, b.PSC

FROM tabulka_zakaznikov AS a LEFT JOIN tabulka_PSC AS b ON a.mesto = b.mesto

Skript teda čítame nasledovne. Z tabuľky zákazníkov vyber meno, priezvysko a mesto, pričom ku mestu z tabuľky PSC dotiahni Poštovné smerové číslo a to tak, že tabuľky spoj cez zhodný stĺpec, ktorý sa nachádza v oboch z nich (mesto).

V SQL existujú nasledovné typy joinov:

LEFT JOIN - ku hodnotám z ľavej tabuľky pripjí hodnoty z pravej tabuľky

RIGHT JOIN - ku hodnotám z pravej tabuľky pripojí hodnoty z lavej tabuľky

INNER JOIN - spraví prienik tabuliek

Pre lepšie pochopenie príkazu JOIN si môžete prečítať článok 09. Access JOIN.

Všetky príspevky v tejto kategórii:

Reklamné odkazy

kosime.sk
Kosenie trávy, čistenie pozemkov a záhradnícke práce