Kuidas SQL-is kolme tabelit ühendada

SQL-is tabelitega töötades võib esineda olukordi, kus peate esitama päringu kolme või enama tabeli kohta. Saate ühendada kolm tabelit, kasutades esmalt liitumislauset, et ühendada kaks tabelit ajutise ühendatud tabeli loomiseks. Seejärel kasutage kolmanda tabeli ühendamiseks teist liitumislauset.

1
Tippige SELECT ja seejärel veergude nimed, mille kohta soovite päringuid teha. Sisestage iga kolme veeru nimi, mille kohta soovite päringuid teha. Eraldage iga veeru nimi komaga. Selles näites esitame päringu kolmest tabelist nimega “Õpilased”, “Koolid”, “Üksikasjad”. Näiteks SELECT õpilase_tunnus, õpilase_nimi, kooli_tunnus, kool, hinne

2
Tippige FROM ja seejärel esimese tabeli nimi. See võib minna eraldi reale või kohe pärast esimest avaldust. Meie näites kirjutaksime teksti FROM Students.

3
Tippige liitumislause, millele järgneb teise tabeli nimi. Kahe tabeli ühendamiseks saate kasutada nelja tüüpi liitlauseid. Need on järgmised: Sisemise liitumise tegemiseks tippige JOIN. See tagastab kirjed, millel on mõlemas tabelis vastavad väärtused. Näiteks FROM Students JOIN Details.Tippige LEFT JOIN, et teha välimine vasak liitumine. See tagastab kõik kirjed vasakpoolsest tabelist ja vastavad väärtused paremast tabelist. Näiteks FROM Students LEFT JOIN Details.Tippige RIGHT JOIN välimise parempoolse liitumise tegemiseks. See tagastab kõik kirjed parempoolsest tabelist ja vastavad väärtused vasakpoolsest tabelist. Näiteks FROM Students RIGHT JOIN Details.Tippige FULL JOIN, et teha täielik välimine liitumine. See tagastab kõik kirjed mõlemast tabelist. Näiteks FROM Students FULL JOIN Details.

4
Sisestage ühendatavate tabelite ja veergude jaoks avaldus “ON”. Selle avalduse süntaks on “ON tabel_1.esmane_võti = tabel_2.välisvõti”. “Tabel_1” on esimese tabeli nimi, millega liitute, ja “primary_key” on esimese tabeli peamise veeru nimi. “Tabel_2” on teise tabeli nimi ja “foreign_key” on teise tabeli veeru nimi, mis ühtib esimese tabeli peamise veeruga. Meie näites on „Õpilased” esimene tabel ja „õpilase_id” primaarvõti tabelist „Õpilased”, mis on ka tabelis Üksikasjad. Seega sisestaksime ON Students.student_id = Details.student_id. See ühendab tabeli Õpilased tabeliga Üksikasjad, kasutades primaarvõtmena “õpilase_id”. Kui veerg õpilase_nimi on tabelis “Üksikasjad”, saate välja õpilase_id asemel kuvada veeru õpilase_nimi, sisestades ON Students.student_id. = Üksikasjad.õpilase_nimi.

5
Tippige liitumislause, millele järgneb kolmanda tabeli nimi. See võib asuda eraldi real või vahetult pärast kahte esimest tabelit ühendanud avaldust “ON”. Võite kasutada üht neljast liitlausest. Meie näites kirjutaksime JOIN Schools.

6
Sisestage lause “ON”, mis näitab, millised tabelid ja veerud ühendatakse. Kolmanda ühenduse süntaks on “ON tabel_3.esmane_võti = tabel_1.välisvõti”. “Tabel 1”. “Tabel_3 on kolmanda tabeli nimi. See lisab tabeli kolm lõplikku ühendamist, kasutades kolmanda tabelis oleva esmase veeru nime ja esimese tabeli võõrvõtit. Meie näites kirjutaksime selle ON Schools.student_id = Õpilased .student_id. Kogu liitumisavaldus peaks välja nägema umbes selline: SELECT õpilase_id, õpilase_nimi, kooli_id, kool, hinneFROM Õpilased FULL JOIN DetailsON Students.student_id = Details.student_id JOIN SchoolsON Schools.student_id = Õpilased.õpilase_id