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: REVAN - THE COMPLETE STORY 2024, Travanj
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 pomoću naredbe join spojite 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 stupca iz svake od tri koju želite postaviti upit. Odvojite svaki naziv stupca zarezom. U ovom primjeru upitat ćemo se iz 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 nakon čega slijedi prvi naziv tablice

To 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. Oni su sljedeći:

  • Upišite JOIN da biste učinili Unutrašnje pridruživanje. Ovo vraća zapise koji imaju podudarne vrijednosti u obje tablice. Na primjer FROM OF Students JOIN Details.
  • Upišite LEFT JOIN da biste učinili Vanjsko lijevo pridruživanje. Ovo vraća sve zapise iz lijeve tablice i odgovarajuće vrijednosti iz desne tablice. Na primjer IZ UČENICI SU LIJEVO JOIN Detalji.
  • Upišite DESNO JOIN da biste učinili a Vanjsko desno pridruživanje. Ovo vraća sve zapise iz desne tablice i odgovarajuće vrijednosti iz lijeve tablice. Na primjer OD UČENIKA DESNI PRIDRUŽITE se Detalji.
  • Upišite FULL JOIN da biste učinili a Potpuno vanjsko pridruživanje. Ovo vraća sve zapise iz obje tablice. Na primjer OD UČENIKA PUNO JOIN Detalji.
11227971 4
11227971 4

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

Sintaksa za ovu naredbu je "ON table_1.primary_key = table_2.foreign_key". "Tablica_1" naziv je prve tablice kojoj se pridružite, a "primarni_ključ" naziv je primarnog stupca u prvoj tablici. "Tablica_2" naziv je druge tablice, a "strani_ključ" naziv stupca iz druge tablice koji odgovara primarnom stupcu 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 Pojedinosti. Stoga bismo upisali ON Students.student_id = Details.student_id. Ovo se pridružuje tablici učenika s tablicom pojedinosti 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 izraza "ON" koji se pridružio prve dvije tablice. Možete koristiti bilo koju od četiri izjave 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 spajanje je "ON table_3.primary_key = table_1.foreign_key". "Stol 1". "Tablica_3 je naziv treće tablice. Ovo dodaje tablicu tri konačnom spajanju koristeći naziv primarnog stupca 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 ON Students.student_id = Details.student_id PRIDRUŽITE SE Schools ON Schools.student_id = Students.student_id

Preporučeni: