Du kan bruge SQL JOIN-sætninger til at kombinere data fra tre eller flere tabeller. SQL JOIN er ekstremt fleksibel, og dens kraftfulde funktionalitet kan bruges til at kombinere data fra flere tabeller. Lad os se på de SQL-sætninger, der giver dig mulighed for at kombinere resultater fra tre forskellige tabeller ved hjælp af en indre sammenføjning.
Indvendige Delta Eksempel
Tag for eksempel tabeller, der indeholder drivere i ét bord og køretøjs match-ups i det andet. Den indre samling forekommer, hvor både køretøjet og føreren er placeret i samme by. Den indre del vælger alle rækker fra begge tabeller, der indeholder en match mellem placeringskolonner.
SQL-sætningen nedenfor kombinerer data fra tabellerne Drivere og køretøjer i tilfælde, hvor føreren og køretøjet er placeret i samme by:
VÆLG efternavn, fornavn, tag FRA drivere, køretøjer WHERE drivers.location = vehicles.location
Denne forespørgsel giver følgende resultater:
efternavn fornavn tag -------- --------- --- Baker Roland H122JM Smythe Michael D824HA Smythe Michael P091YF Jacobs Abraham J291QR Jacobs Abraham L990MT
Udvid nu dette eksempel til at inkludere et tredje bord. Forestil dig at du kun ville medtage drivere og køretøjer til stede på steder, der er åbne i weekenden. Du kunne medbringe en tredje tabel i din forespørgsel ved at udvide JOIN-erklæringen som følger:
Vælge efternavn, fornavn, tag, open_weekends FRA drivere, køretøjer, steder WHERE drivers.location = vehicles.location OG vehicles.location = locations.location OG locations.open_weekends = 'Ja'
efternavn fornavn tag open_weekends -------- --------- --- ------------- Baker Roland H122JM ja Jacobs Abraham J291QR ja Jacobs Abraham L990MT ja
Denne kraftige udvidelse til den grundlæggende SQL JOIN-sætning gør det muligt at kombinere data på en kompleks måde. Udover at kombinere tabeller med en indre sammenføjning, kan du også bruge denne teknik til at kombinere flere tabeller ved hjælp af en ydre sammenføjning. Ydre samlinger omfatter resultater, der findes i et bord, men har ikke en tilsvarende kamp i det sammenføjede bord.