Enkle måter å koble sammen tre tabeller i SQL (med bilder)

Innholdsfortegnelse:

Enkle måter å koble sammen tre tabeller i SQL (med bilder)
Enkle måter å koble sammen tre tabeller i SQL (med bilder)

Video: Enkle måter å koble sammen tre tabeller i SQL (med bilder)

Video: Enkle måter å koble sammen tre tabeller i SQL (med bilder)
Video: AutoHotkey - Beginners tutorial (All the basic functions) 2024, April
Anonim

Når du arbeider med tabeller i SQL, kan det være noen situasjoner der du må spørre om tre eller flere tabeller. Du kan bli med i tre tabeller ved først å bruke en join -setning for å bli med i to tabeller for å lage en midlertidig sammenfalt tabell. Bruk deretter en andre join -setning for å bli med i den tredje tabellen.

Trinn

11227971 1
11227971 1

Trinn 1. Skriv SELECT etterfulgt av kolonnenavnene du vil spørre om

Skriv inn kolonnenavnet fra hver av de tre du vil spørre om. Skill hvert kolonnenavn med komma. I dette eksemplet vil vi spørre fra tre tabeller som heter "Studenter", "Skoler", "Detaljer"

For eksempel SELECT student_id, student_name, school_id, school, grade

11227971 2
11227971 2

Trinn 2. Skriv FROM etterfulgt av det første tabellnavnet

Dette kan gå på en egen linje eller umiddelbart etter den første uttalelsen. I vårt eksempel ville vi skrive FROM Students.

11227971 3
11227971 3

Trinn 3. Skriv inn en join -setning etterfulgt av navnet på den andre tabellen

Det er fire typer join -setninger du kan bruke til å kombinere to tabeller. De er som følger:

  • Skriv JOIN for å gjøre en Indre bli med. Dette returnerer poster som har matchende verdier i begge tabellene. For eksempel FRA studenter BLI MED Detaljer.
  • Skriv LEFT JOIN for å gjøre en Ytre venstre Bli med. Dette returnerer alle poster fra tabellen til venstre og matchende verdier fra tabellen til høyre. For eksempel fra studenter LEFT JOIN Details.
  • Skriv HØYRE JOIN for å gjøre en Ytre høyre Bli med. Dette returnerer alle poster fra høyre tabell og matchende verdier fra tabellen til venstre. For eksempel fra studenter HØYRE BLI MED Detaljer.
  • Skriv FULL JOIN for å gjøre en Full Ytre Join. Dette returnerer alle poster fra begge tabellene. For eksempel FROM Students FULL JOIN Details.
11227971 4
11227971 4

Trinn 4. Skriv inn en "PÅ" -uttrykk for tabellene og kolonnene blir sammenføyet

Syntaksen for denne setningen er "ON table_1.primary_key = table_2.foreign_key". "Table_1" er navnet på den første tabellen du blir med i, og "primary_key" er navnet på den primære kolonnen i den første tabellen. "Tabell_2" er navnet på den andre tabellen, og "fremmed_nøkkel" er et kolonnenavn fra den andre tabellen som samsvarer med hovedkolonnen fra den første tabellen.

  • I vårt eksempel er "Studenter" den første tabellen og "student_id" er hovednøkkelen fra tabellen Studenter, som også er i tabellen Detaljer. Så vi ville skrive ON Students.student_id = Details.student_id. Dette forbinder elevtabellen med tabellen Detaljer ved å bruke "student_id" som hovednøkkel.
  • Alternativt, hvis kolonnen studentnavn er i tabellen "Detaljer", kan du vise kolonnen studentnavn i stedet for feltet student_id ved å skrive PÅ Students.student_id = Details.student_name.
11227971 5
11227971 5

Trinn 5. Skriv inn en join -setning etterfulgt av navnet på den tredje tabellen

Dette kan være på en egen linje eller umiddelbart etter "PÅ" -utsagnet som ble med de to første tabellene. Du kan bruke hvilken som helst av de fire sammenføyningen.

I vårt eksempel ville vi skrive JOIN Schools

11227971 6
11227971 6

Trinn 6. Skriv inn en "PÅ" -uttrykk som angir hvilke tabeller og kolonner som skal settes sammen

Syntaksen for den tredje sammenføyningen er "ON table_3.primary_key = table_1.foreign_key". "Tabell_1". "Tabell_3 er navnet på den tredje tabellen. Dette legger til tabell tre til den siste sammenføyningen ved å bruke det primære kolonnenavnet fra den tredje tabellen og den utenlandske nøkkelen fra den første tabellen. I vårt eksempel vil vi skrive ON Schools.student_id = Students.student_id. Hele sammenføyningen skal se slik ut:

    VELG student_id, studentnavn, skole_id, skole, karakter FRA studenter FULLT JOIN Detaljer PÅ Students.student_id = Details.student_id BLI MED på skoler ON Schools.student_id = Students.student_id

Anbefalt: