Sprievodca používaním vnútorných spojov v SQL na skupinové dáta z viacerých tabuliek

Použite SQL Inner Joins na kombinovanie údajov z troch alebo viacerých tabuliek

Pomocou príkazov SQL JOIN môžete kombinovať údaje z troch alebo viacerých tabuliek. SQL JOIN je extrémne flexibilný a jeho výkonné funkcie sa dajú použiť na kombinovanie údajov z viacerých tabuliek. Poďme sa pozrieť na príkazy SQL, ktoré vám umožnia kombinovať výsledky z troch rôznych tabuliek pomocou vnútorného spojenia.

Vnútorný príklad pripojenia

Napríklad, vezmite si tabuľky, ktoré obsahujú ovládače v jednej tabuľke a zápasové vozidlá v druhej. Vnútorný spoj sa vyskytuje tam, kde sa vozidlo a vodič nachádzajú v tom istom meste. Vnútorný spoj vyberie všetky riadky z oboch tabuliek, ktoré obsahujú zhodu medzi stĺpcami umiestnenia.

Príkaz SQL uvedený nižšie spája údaje z tabuliek Ovládače a vozidlá v prípadoch, keď sa vodič a vozidlo nachádzajú v tom istom meste:

SELECT priezvisko, meno, značka FROM ovládače, vozidlá WHERE drivers.location = vehicles.location

Tento dopyt prináša nasledujúce výsledky:

priezvisko meno meno -------- --------- --- Baker Roland H122JM Smythe Michael D824HA Smythe Michael P091YF Jacobs Abraham J291QR Jacobs Abraham L990MT

Teraz rozšíriť tento príklad tak, aby obsahoval tretiu tabuľku. Predstavte si, že chcete zahrnúť iba vodičov a vozidiel, ktoré sa nachádzajú na miestach, ktoré sú otvorené cez víkend. Do svojho dopytu môžete vložiť tretiu tabuľku rozšírením vyhlásenia JOIN takto:

SELECT priezvisko, meno, tag, open_weekends FROM vodiči, vozidlá, miesta WHERE drivers.location = vehicles.location AND vehicles.location = locations.location AND locations.open_weekends = 'Áno' priezvisko firstname tag open_weekends -------- --------- --- ------------- Baker Roland H122JM áno Jacobs Abraham J291QR áno Jacobs Abraham L990MT áno

Toto výkonné rozšírenie základného príkazu SQL JOIN umožňuje kombinovať údaje komplexným spôsobom. Okrem kombinácie tabuliek s vnútorným spojom môžete túto techniku ​​použiť aj na kombinovanie viacerých tabuliek pomocou vonkajšej spojky. Vonkajšie spojenia obsahujú výsledky, ktoré existujú v jednej tabuľke, ale nemajú zodpovedajúcu zhodu v spojenej tabuľke.