/ / Izjava SQL INNER JOIN: primjeri, sintaksa i značajke

SQL INNER JOIN Izjava: Primjeri, sintaksa i značajke

Razvoj bilo koje baze podataka ne podrazumijevasamo izrada i popunjavanje tablica raznim informacijama, ali i daljnji rad s podacima. Za pravilno izvršavanje različitih zadataka odabira podataka iz tablica i generiranja izvješća koristi se standardni konstrukt Select.

sql primjer unutarnjeg spajanja

Dohvaćanje podataka iz tablica

Ako uzmemo u obzir problem odabira podataka odngradeći neko izvješće, možete odrediti razinu složenosti ove operacije. U pravilu, pri radu s ozbiljnim (u smislu količine podataka) bazama podataka, koje se formiraju, na primjer, u internetskim trgovinama ili velikim tvrtkama, odabir podataka neće biti ograničen na samo jednu tablicu. U pravilu, odabiri mogu biti iz prilično velikog broja ne samo međusobno povezanih tablica, već i ugniježđenih upita / podupita, koje izrađuje sam programer, ovisno o zadatku koji mu je dodijeljen. Za odabir iz jedne tablice možete koristiti najjednostavniju konstrukciju:

Odaberite * iz Osoba

gdje je Osoba naziv tablice iz koje želite dohvatiti podatke.

Ako trebate odabrati podatke iz više tablica, možete koristiti jedan od standardnih konstrukata za spajanje više tablica.

Načini povezivanja dodatnih tablica

Ako razmatramo upotrebu ove vrste konstrukcija na početnoj razini, tada možemo razlikovati sljedeće mehanizme za povezivanje potrebnog broja tablica za odabir, i to:

  1. Inner Join operator.
  2. Lijevo pridruživanje ili, ovo je drugi način pisanja, lijevo vanjsko pridruživanje.
  3. Cross Join.
  4. Potpuno pridruživanje.

Možete naučiti kako u praksi koristiti operatore spajanja tablica ispitivanjem upotrebe SQL - Inner Join operatora. Primjer njegove upotrebe izgledat će ovako:

Odaberite * iz Osoba

Unutarnje pridruženo Pododjeljenje na Su_Person = Pe_ID

SQL jezik i operater Pridruži se unutarnjem pridruživanju mogu bitikoristiti ne samo za spajanje dvije ili više tablica, već i za povezivanje ostalih potupita, što uvelike olakšava rad administratora baza podataka i, u pravilu, može značajno ubrzati izvršavanje određenih složenih upita.

Kombiniranje podataka u tablicama red po red

sql primjeri izjave za unutarnje pridruživanje

Ako uzmete u obzir povezivanje velikog broja podupita i prikupljanje podataka u jednu tablicu red po red, također možete koristiti operatore Union i Union All.

Upotreba ovih struktura ovisit će o zadatku postavljenom ispred programera i rezultatu koji kao rezultat želi postići.

Opis operatora Inner Join

U većini slučajeva kombinirati nekolikoSQL tablice koriste operator Inner Join. Opis Unutarnjeg pridruživanja u SQL-u prilično je lako razumljiv za prosječnog programera koji tek započinje s bazama podataka. Ako uzmemo u obzir opis mehanizma djelovanja ove strukture, dobit ćemo sljedeću sliku. Logika operatera u cjelini temelji se na mogućnosti presijecanja i odabira samo onih podataka koji se nalaze u svakoj od tablica uključenih u upit.

Ako ovo djelo razmotrimo sa stajališta grafičke interpretacije, dobit ćemo strukturu operatora SQL Inner Join, čiji se primjer može prikazati pomoću sljedećeg dijagrama:

Primjeri sintakse unutarnjeg pridruživanja sql

Na primjer, imamo dvije tablice čija je shemaprikazan na slici. Oni pak imaju različit broj zapisa. Svaka od tablica ima polja koja su međusobno povezana. Ako pokušavamo objasniti rad operatora na temelju slike, tada će se vraćeni rezultat naći u obliku skupa zapisa iz dvije tablice, gdje se brojevi povezanih polja podudaraju. Jednostavno rečeno, upit će vratiti samo one zapise (iz tablice broj dva), čiji se podaci nalaze u tablici broj jedan.

Sintaksa operatora unutarnjeg pridruživanja

Kao što je ranije spomenuto, operator Inner Join injegova je sintaksa neobično jednostavna. Da biste organizirali veze između tablica unutar jednog uzorka, bit će dovoljno sjetiti se i koristiti sljedeći shematski dijagram za konstrukciju operatora, koji je napisan u jednom retku programskog SQL koda, i to:

  • Unutarnje pridruživanje [Naziv tablice] na [ključnom polju iz tablice na koju se povezujemo] = [Ključno polje povezane tablice].

Za komunikaciju u ovom operateru, glavnitipke stola. U pravilu, u grupi tablica koje pohranjuju podatke o zaposlenicima, prethodno opisana Osoba i Pododjeljenje imaju barem jedan sličan zapis. Dakle, pogledajmo bliže izjavu SQL Inner Join, čiji je primjer prikazan malo ranije.

Primjer i opis spajanja na odabir jedne tablice

Imamo stol za osobe koji pohranjujeinformacije o svim zaposlenicima koji rade u tvrtki. Odmah primjećujemo da je glavni ključ ove tablice polje - Pe_ID. Na njemu će gomila ići.

Pohranit će se druga tablica Pododjeljenjainformacije o odjelima u kojima zaposlenici rade. Ona je pak povezana putem polja Su_Person sa tablicom Osoba. Što to znači? Na temelju sheme podataka možemo reći da će tablica odjela za svaki zapis iz tablice "Zaposlenici" sadržavati podatke o odjelu u kojem rade. Na toj će vezi raditi Inner Join operator.

Za jasniju upotrebu razmotrite operator SQL Inner Join (primjeri njegove upotrebe za jednu i dvije tablice). Ako uzmemo u obzir primjer za jednu tablicu, tada je sve vrlo jednostavno:

Odaberite * iz Osoba

Unutarnje pridruženo Pododjeljenje na Su_Person = Pe_ID

Primjer spajanja dviju tablica i podupita

sql i operator pridruživanja unutarnje spajanje

Primjeri upotrebe SQL unutarnjeg pridruživanja operatorakoji se za dohvaćanje podataka iz nekoliko tablica može organizirati na gore navedeni način, radi prema malo kompliciranom principu. Kompliciramo zadatak za dvije tablice. Recimo da imamo tablicu odlaska koja pohranjuje informacije o svim odjelima u svakom od odjela. Ova tablica sadrži broj odjela i broj zaposlenika, a uzorak podataka trebate dopuniti nazivom svakog odjela. Gledajući naprijed, vrijedi reći da se dvije metode mogu koristiti za rješavanje ovog problema.

Prvi način je povezivanje tablice odjela s odabirom. U tom slučaju zahtjev možete organizirati na sljedeći način:

Odaberite Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name iz Person

Unutarnje pridruženo Pododjeljenje na Su_Person = Pe_ID

Unutarnje pridruživanje Polazak na Su_Depart = Dep_ID i Pe_Depart = Dep_ID

Druga metoda za rješavanje problema je korištenjepotupit u kojem iz tablice odjeljenja neće biti odabrani svi podaci, već samo potrebni. To će, za razliku od prve metode, smanjiti vrijeme obrade upita.

Odaberite Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name iz Person

Unutarnje pridruženo Pododjeljenje na Su_Person = Pe_ID

Unutarnje spajanje (odaberite Dep_ID, Dep_Name, Pe_Depart from Depart) kao T na Su_Depart = Dep_ID i Pe_Depart = Dep_ID

Treba napomenuti da ovaj dizajn nije uvijekmože ubrzati upit. Ponekad postoje slučajevi kada morate upotrijebiti dodatni odabir podataka u privremenoj tablici (ako je njihova veličina prevelika), a zatim ga kombinirati s glavnim odabirom.

Primjer upotrebe operatora Inner Join za odabir iz velikog broja tablica

Izgradnja složenih upita uključujekorištenje značajnog broja tablica i podupita međusobno povezanih za odabir podataka. Sintaksa SQL Inner Join može zadovoljiti ove zahtjeve. Primjeri upotrebe operatora u ovom slučaju mogu se zakomplicirati ne samo odabirom s mnogih mjesta za pohranu podataka, već i iz velikog broja ugniježđenih podupita. Za određeni primjer možete uzeti odabir podataka iz sistemskih tablica (Inner Join SQL operator). Primjer - 3 tablice - u ovom će slučaju imati prilično složenu strukturu.

primjer unutarnjeg spajanja sql tablice 3

U ovom su slučaju povezana još tri dodatna uvjeta (na glavnu tablicu) i uvedeno je nekoliko uvjeta za odabir podataka.

Kada koristite Inner Join operater, to koštane zaboravite da što je zahtjev zahtjevniji, to će dulje biti potrebno za njegovu provedbu, pa vrijedi tražiti načine za brže izvršavanje i rješavanje zadatka.

primjer unutarnjeg spajanja sql tablice 3

zaključak

Na kraju bih htio reći jedno:rad s bazama podataka nije najteža stvar u programiranju, stoga, po želji, apsolutno svi mogu svladati znanje o izradi baza podataka, a s vremenom će, stekavši iskustvo, biti moguće raditi s njima na profesionalnoj razini.

volio:
0
Popularni postovi
Duhovni razvoj
hrana
y