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
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
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.
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.
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.
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
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