Vnútorné spájanie vráti informácie, ktoré sa zobrazujú vo dvoch alebo viacerých databázach
Vnútorné spojenia sú najčastejšie používané spojenia v SQL. Vracajú iba informácie, ktoré existujú v dvoch alebo viacerých databázových tabuľkách. Podmienka spojenia určuje, ktoré záznamy sú spárované dohromady a je špecifikované v klauzule WHERE. Napríklad, ak potrebujete zoznam zápasov pre vodiča / vozidlo, v ktorých sa vozidlo a vodič nachádzajú v tom istom meste, tento úloha splní tento dotaz SQL :
SELECT priezvisko, meno, značka FROM ovládače, vozidlá WHERE drivers.location = vehicles.locationTu sú výsledky:
názov priezviska
----------- ------------ ----
Baker Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jacobs Abraham J291QR
Jacobs Abraham L990MT
Všimnite si, že výsledky sú presne to, čo bolo požadované. Ďalšiu možnosť je možné spresniť zadaním ďalších kritérií v klauzule WHERE. Predpokladajme, že pôvodný dopyt zodpovedá ovládačom vozidlám, ktoré nie sú oprávnené riadiť (vodiči nákladných vozidiel na autá a naopak). Na vyriešenie tohto problému môžete použiť nasledujúci dotaz:
SELECT priezvisko, krstné meno, značka, vehicles.class FROM ovládače, vozidlá WHERE drivers.location = vehicles.location AND drivers.class = vehicles.classTento príklad špecifikuje zdrojovú tabuľku pre atribút triedy v klauzule SELECT, pretože trieda je nejednoznačná - objavuje sa v obidvoch tabuľkách. Kód by zvyčajne určoval, ktorý stĺpec tabuľky by mal byť zahrnutý do výsledkov dopytu. V tomto prípade to nemá žiadny rozdiel, pretože stĺpce sú identické a sú spojené pomocou equijoin. Ak by však stĺpce obsahovali rôzne údaje, toto rozlíšenie by bolo kritické. Tu sú výsledky tohto dopytu:
priezvisko triedy tagov
---------- ------------ ---- ------
Baker Roland H122JM auto
Smythe Michael D824HA Truck
Jacobs Abraham J291QR auto
Chýbajúce riadky spárovali Michaelovi Smytheovi s vozidlom a Abraham Jacobs s nákladným vozidlom, ktoré nemali oprávnenie riadiť.
Pomocou vnútorných spojov môžete kombinovať aj údaje z troch alebo viacerých tabuliek .