Pri delu s tabelami v SQL se lahko pojavijo situacije, ko morate poizvedovati o treh ali več tabelah. Če želite združiti dve tabeli, da ustvarite začasno združeno tabelo, se lahko pridružite trem tabelam. Nato uporabite drugo izjavo za pridružitev tretji tabeli.
Koraki
Korak 1. Vnesite SELECT, ki mu sledijo imena stolpcev, ki jih želite poizvedovati
Vnesite ime stolpca iz vsakega od treh, ki jih želite poizvedovati. Ime vsakega stolpca ločite z vejico. V tem primeru bomo poizvedovali po treh tabelah z imenom "Učenci", "Šole", "Podrobnosti"
Na primer SELECT student_id, student_name, school_id, school, grade
Korak 2. Vnesite FROM, ki mu sledi ime prve tabele
To lahko gre v ločeno vrstico ali takoj po prvi izjavi. V našem primeru bi vnesli FROM Students.
Korak 3. Vnesite izjavo pridružitve, ki ji sledi ime druge tabele
Za združevanje dveh tabel lahko uporabite štiri vrste stavkov pridruževanja. Ti so naslednji:
- Če želite narediti, vnesite JOIN Notranja pridružitev. To vrne zapise, ki imajo ujemajoče se vrednosti v obeh tabelah. Na primer FROM OF Students JOIN Details.
- Če želite narediti, vnesite LEFT JOIN Zunanji levi priključek. To vrne vse zapise iz leve tabele in ustrezne vrednosti iz desne tabele. Na primer IZ ŠTUDENTOV LEFT JOIN Podrobnosti.
- Vnesite DESNO JOIN, da naredite a Zunaj desno Pridružite se. To vrne vse zapise iz desne tabele in ujemajoče se vrednosti iz leve tabele. Na primer od študentov PRAVI PRIDRUŽITE SE Podrobnosti.
- Vnesite FULL JOIN, da naredite a Popolna zunanja pridružitev. To vrne vse zapise iz obeh tabel. Na primer IZ ŠTUDENTOV POPOLNE PRIDRUŽBE Podrobnosti.
Korak 4. Vnesite stavek "ON" za tabele in stolpce, ki se združujejo
Sintaksa te izjave je "ON table_1.primary_key = table_2.foreign_key". "Tabela_1" je ime prve tabele, ki se ji pridružite, in "primarni_ključ" je ime primarnega stolpca v prvi tabeli. "Tabela_2" je ime druge tabele, "tuji_ključ" pa je ime stolpca iz druge tabele, ki se ujema s primarnim stolpcem iz prve tabele.
- V našem primeru je "Študenti" prva tabela in "student_id" je primarni ključ iz tabele Učenci, ki je tudi v tabeli Podrobnosti. Zato bi vnesli ON Students.student_id = Details.student_id. To se pridruži tabeli študentov s tabelo Podrobnosti, ki uporablja "student_id" kot primarni ključ.
- Druga možnost je, če je stolpec ime -študenta v tabeli "Podrobnosti", lahko namesto polja študent_id prikažete stolpec ime -študenta, tako da vnesete ON Students.student_id = Details.student_name.
Korak 5. Vnesite izjavo pridružitve, ki ji sledi ime tretje tabele
To je lahko v ločeni vrstici ali takoj za stavkom "ON", ki je združil prvi dve tabeli. Uporabite lahko katero koli od štirih stavkov združevanja.
V našem primeru bi vnesli JOIN Schools
Korak 6. Vnesite stavek "ON", ki označuje, katere tabele in stolpci bodo združeni
Sintaksa tretjega združevanja je "ON table_3.primary_key = table_1.foreign_key". "Tabela_1". "Tabela_3 je ime tretje tabele. To dodaja tabelo tri končnemu združevanju z uporabo imena primarnega stolpca iz tretje tabele in tujega ključa iz prve tabele. V našem primeru bi to vnesli ON Schools.student_id = Students.student_id. Celotna izjava join bi morala izgledati nekako tako:
SELECT student_id, student_name, school_id, school, grade FROM Students FULL JOIN Podrobnosti ON Students.student_id = Details.student_id PRIDRUŽITE SE Schools ON Schools.student_id = Students.student_id