Jednostavni načini spajanja tri tablice u SQL -u (sa slikama)

Sadržaj:

Jednostavni načini spajanja tri tablice u SQL -u (sa slikama)
Jednostavni načini spajanja tri tablice u SQL -u (sa slikama)

Video: Jednostavni načini spajanja tri tablice u SQL -u (sa slikama)

Video: Jednostavni načini spajanja tri tablice u SQL -u (sa slikama)
Video: 16 ошибок штукатурки стен. 2024, April
Anonim

Prilikom rada s tablicama u SQL -u mogu se pojaviti situacije u kojima trebate postaviti upit za tri ili više tablica. Možete pridružiti tri tablice tako da prvo upotrebite naredbu join da biste spojili dvije tablice kako biste stvorili privremenu spojenu tablicu. Zatim upotrijebite drugu naredbu pridruživanja da biste se pridružili trećoj tablici.

Koraci

11227971 1
11227971 1

Korak 1. Upišite SELECT, a zatim imena stupaca koje želite postaviti

Upišite naziv kolone od svake od tri koje želite postaviti upit. Odvojite svaki naziv stupca zarezom. U ovom primjeru ćemo tražiti od tri tablice pod nazivom "Učenici", "Škole", "Detalji"

Na primjer SELECT student_id, student_name, school_id, school, grade

11227971 2
11227971 2

Korak 2. Upišite FROM iza kojeg slijedi prvo ime tablice

Ovo može ići u zasebnom retku ili odmah nakon prve izjave. U našem primjeru upisali bismo FROM Students.

11227971 3
11227971 3

Korak 3. Upišite naredbu pridruživanja iza koje slijedi naziv druge tablice

Postoje četiri vrste naredbi pridruživanja koje možete koristiti za spajanje dvije tablice. One su sljedeće:

  • Otkucajte JOIN da biste uradili Inner Join. Ovo vraća zapise koji imaju podudarne vrijednosti u obje tablice. Na primjer FROM OF Students JOIN Details.
  • Otkucajte LEFT JOIN da uradite an Spoljašnje lijevo pridruživanje. Ovo vraća sve zapise iz lijeve tablice i odgovarajuće vrijednosti iz desne tablice. Na primjer IZ UČENIKA SU LIJEVO JOIN Detalji.
  • Otkucajte DESNO JOIN da biste uradili a Spolja desno pridružite se. Ovo vraća sve zapise iz desne tablice i odgovarajuće vrijednosti iz lijeve tablice. Na primjer OD UČENIKA DESNO PRIDRUŽITE SE Detalji.
  • Otkucajte FULL JOIN da biste uradili a Potpuno vanjsko pridruživanje. Ovo vraća sve zapise iz obje tablice. Na primjer OD UČENIKA PUNO SE PRIDRUŽITE Detalji.
11227971 4
11227971 4

Korak 4. Upišite "ON" izraz za tablice i stupce koji se spajaju

Sintaksa za ovu naredbu je "ON table_1.primary_key = table_2.foreign_key". "Table_1" je naziv prve tablice kojoj se pridružite, a "primary_key" je naziv primarnog stupca u prvoj tablici. "Table_2" je naziv druge tablice, a "Foreign_key" je naziv stupca iz druge tablice koji se podudara s primarnom kolonom iz prve tablice.

  • U našem primjeru, "Studenti" je prva tablica, a "student_id" je primarni ključ iz tablice Učenici, koji se također nalazi u tablici Detalji. Tako bismo upisali ON Students.student_id = Details.student_id. Ovo se pridružuje tabeli učenika sa tabelom detalja koja koristi "student_id" kao primarni ključ.
  • Alternativno, ako se stupac student_name nalazi u tablici "Detalji", možete prikazati stupac student_name umjesto polja student_id upisivanjem ON Students.student_id = Details.student_name.
11227971 5
11227971 5

Korak 5. Upišite naredbu pridruživanja iza koje slijedi naziv treće tablice

To može biti u zasebnom retku ili odmah nakon "ON" izraza koji se pridružio prve dvije tablice. Možete koristiti bilo koju od četiri naredbe pridruživanja.

U našem primjeru upisali bismo JOIN Schools

11227971 6
11227971 6

Korak 6. Upišite naredbu "ON" koja označava koje će se tablice i stupci spojiti

Sintaksa za treće pridruživanje je "ON table_3.primary_key = table_1.foreign_key". "Tabela_1". "Tablica_3 je naziv treće tablice. Ovo dodaje tablicu tri konačnom spajanju koristeći naziv primarne kolone iz treće tablice i vanjski ključ iz prve tablice. U našem primjeru ovo bismo upisali ON Schools.student_id = Students.student_id. Cijela naredba join trebala bi izgledati otprilike ovako:

    SELECT student_id, student_name, school_id, school, grade FROM Students FULL JOIN Detalji ON Students.student_id = Details.student_id PRIDRUŽITE SE Schools ON Schools.student_id = Students.student_id

Preporučuje se: