Pomocí kombinace SQL Inner Joins kombinujete data ze tří nebo více tabulek
Pomocí příkazů SQL JOIN můžete kombinovat data ze tří nebo více tabulek. SQL JOIN je extrémně flexibilní a jeho výkonné funkce lze kombinovat s daty z více tabulek. Podívejme se na příkazy SQL, které vám umožňují kombinovat výsledky ze tří různých tabulek pomocí vnitřního spojení.
Vnitřní příklad připojení
Vezměte si například tabulky, které obsahují ovladače v jedné tabulce a zápalky vozidel ve druhé. Vnitřní spoj se vyskytuje tam, kde se ve stejném městě nacházejí jak vozidlo, tak řidič. Vnitřní spoj si vybere všechny řádky z obou tabulek, které obsahují shodu mezi sloupci umístění.
Výše uvedený příkaz SQL kombinuje data z tabulek Ovladače a vozidla v případech, kdy se řidič a vozidlo nacházejí ve stejném městě:
SELECT příjmení, jméno, značka FROM ovladače, vozidla WHERE drivers.location = vehicles.locationTento dotaz vytvoří následující výsledky:
jméno příjmení -------- --------- --- Baker Roland H122JM Smythe Michael D824HA Smythe Michael P091YF Jacobs Abraham J291QR Jacobs Abraham L990MTNyní rozšiřte tento příklad o třetí tabulku. Představte si, že jste chtěli zahrnout pouze řidiče a vozidla přítomná v místech otevřených o víkendu. Do vašeho dotazu můžete přidat třetí tabulku rozšířením příkazu JOIN takto:
SELECT příjmení, jméno, tag, open_weekends FROM ovladače, vozidla, místa WHERE drivers.location = vehicles.location AND vehicles.location = locations.location AND locations.open_weekends = 'Ano' příjmení jméno první jméno open_weekends -------- --------- --- ------------- Baker Roland H122JM ano Jacobs Abraham J291QR ano Jacobs Abraham L990MT anoToto výkonné rozšíření základního příkazu SQL JOIN umožňuje kombinovat data složitým způsobem. Kromě kombinace stolů s vnitřním spojem můžete také tuto kombinaci použít pro kombinování více tabulek pomocí vnějšího spojení. Vnější spojení zahrnují výsledky, které existují v jedné tabulce, ale ve spojované tabulce nemají odpovídající shodu.