Razvoj bilo koje baze podataka ne uključuje samo stvaranje i popunjavanje tablica s različitim informacijama, već i daljnji rad s podacima. Standardni dizajn Select se koristi za pravilno izvršavanje različitih zadataka za odabir podataka iz tablica i generiranje izvješća.
Primjeri podataka iz tablica
Odaberite * iz Osobe
gdje je Osoba ime tablice iz koje ćete uzorkovati 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
Odaberite * iz osobe Unutarnje spajanje Podjela na Su_Person = Pe_ID
SQL jezik i operator Join Inner Join ne mogu se koristiti. samo kombinirati dvije ili više tablica, ali i povezati druge pod-upite, što uvelike pojednostavljuje rad administratora baze podataka i, u pravilu, može značajno ubrzati izvršenje određenih, složenih u strukturi upita.
Kombiniranje podataka u tablicama kako bi
Opis operatora unutarnjeg spajanja
Na primjer, imamo dvije tablice, čija je shema prikazana na slici. Oni zauzvrat imaju različit broj zapisa. Svaka od tablica ima polja koja su međusobno povezana. Ako pokušamo objasniti rad operatera na temelju slike, vraćeni rezultat će biti u obliku skupa zapisa iz dvije tablice, gdje su brojevi međusobno povezani. Jednostavno rečeno, upit će vratiti samo one zapise (iz tablice broj dva), čiji podaci su u tablici broj jedan.
Kao što je već spomenuto, izjava Inner Join, tj. Sintaksa, vrlo je jednostavna. Za organiziranje odnosa između tablica unutar jednog uzorka dovoljno je zapamtiti i koristiti sljedeću glavnu shemu konstruiranja operatora, koja je napisana u jednom koraku softverskog SQL koda, i to:Unutarnje spajanje [ime tablice] na [polje ključa] iz tablice u koju se spajamo] = [Ključno polje je tablica koja se povezuje]. Za komunikaciju u ovom operatoru koriste se glavni ključevi tablica. Tipično, u grupi tablica koje pohranjuju informacije o zaposlenicima, prethodno opisana osoba i podjedinica imaju barem jedan sličan zapis. Dakle, razmotrite naredbu SQL Inner Join, čiji je primjer prikazan ranije.
Imamo tablicu Person koja sadrži informacije o svim zaposlenicima koji rade u tvrtki. Odmah imajte na umu da je glavni ključ ove tablice polje - Pe_ID. To će biti od njega i bit će u paketu. Druga tablica podjele bit ćepohraniti podatke o jedinicama u kojima zaposlenici rade. Ona je, pak, povezana s korištenjem polja Su_Person s tablicom Osoba. Što piše? Na temelju sheme podataka može se reći da će u tablici podjela za svaki zapis iz tablice "Zaposlenici" biti informacije o odjelu u kojem djeluju. Upravo s tim u vezi radit će operator Inner Join.
Za razumljiviju uporabu, razmotrite naredbu SQL Inner Join (primjeri njezine uporabe za jednu i dvije tablice). Ako pogledamo primjer za jednu tablicu, onda je sve sasvim jednostavno:
Odaberite * iz osobe Unutarnje spajanje Podjela na Su_Person = Pe_ID
Sintaksa izraza Inner Join
Primjer i opis spajanja na uzorak jedne tablice
Za razumljiviju uporabu, razmotrite naredbu SQL Inner Join (primjeri njezine uporabe za jednu i dvije tablice). Ako pogledamo primjer za jednu tablicu, onda je sve sasvim jednostavno:
Odaberite * iz osobe Unutarnje spajanje Podjela na Su_Person = Pe_ID
Primjer povezivanja dvije tablice i podupita
)
Izjava SQL Inner Join, primjeri čija se uporaba za uzorkovanje podataka s više tablica može organizirati na gore navedeni način, radi na malo kompliciranom principu. Za dvije tablice ćemo zakomplicirati zadatak. Na primjer, imamo tablicu Depart koja pohranjuje informacije o svim podjelama u svakoj od divizija. Ova tablica sadrži broj jedinice i broj zaposlenika, a na ime svakog odjela morate dodati uzorak podataka. Gledajući naprijed, vrijedi reći da se za rješavanje ovog problema mogu koristiti dvije metode. Prvi način je povezivanje tablica podjele na uzorak. Zahtjev možete urediti u ovom slučaju:
Odaberite Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name iz osobe Unutarnje pridruživanje Podjela na Su_Person = Pe_ID Unutarnji spoj Odlazak na Su_Depart = Dep_ID i Pe_Depart = DeP_ID = Dep_ID i Pe_Depart = DeP_ID
Drugi način rješavanja zadatka je korištenje podupita u kojem seTablice odjela bit će odabrane ne svi podaci, već samo potrebni. To će, za razliku od prve metode, skratiti trajanje zahtjeva.
Odaberite Pe_ID, Pe_Name, Su_Id, Su_Name, DeP_ID, Dep_Name iz osobe Unutarnje spajanje Pododjeljak na Su_Person = Pe_ID Unutarnje spajanje (Odaberite Dep_ID, Dep_Name, Pe_Depart iz odlaska) kao T je Su_Depart = Dep_ID i Pe_Depart = DeP_ID 48)
Važno je napomenuti da takav dizajn ne mora uvijek ubrzati rad zahtjeva. Ponekad ima slučajeva kada je potrebno koristiti dodatni uzorak podataka u privremenoj tablici (ako je njihov volumen vrlo velik), a zatim ga kombinirati s osnovnim uzorkovanjem.
Izgradnja složenih upita znači korištenje velikog broja tablica i pod-upita vezanih jedni za druge za uzorkovanje podataka. Ovi zahtjevi mogu zadovoljiti SQL Inner Join sintaksu. Primjeri korištenja operatora u ovom slučaju mogu biti komplicirani ne samo od uzoraka iz mnogih mjesta za pohranu podataka, već i od velikog broja podupita. Za određeni primjer možete uzeti uzorak podataka iz sistemskih tablica (operator Inner Join SQL). Primjer - 3 tablice, u ovom slučaju će imati prilično složenu strukturu.
U ovom slučaju, spojeni (na glavnu tablicu) još tri dodatno su unijeli nekoliko uvjeta za odabir podataka. Kada se koristi operator Unutarnje spajanje, vrijedi se sjetiti da što je složeniji upit, to će dulje biti implementiran, stoga je vrijedno tražiti načine za brže pokretanje i rješavanje zadatka.
Na kraju bih htio reći jedno: rad s bazamapodaci - to nije najteža stvar koja se nalazi u programiranju, pa ako želite apsolutno svatko može steći znanja o izgradnji baza podataka, a kasnije, nakon stjecanja iskustva, raditi će s njima na profesionalnoj razini.
Odaberite Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name iz osobe Unutarnje pridruživanje Podjela na Su_Person = Pe_ID Unutarnji spoj Odlazak na Su_Depart = Dep_ID i Pe_Depart = DeP_ID = Dep_ID i Pe_Depart = DeP_ID
Drugi način rješavanja zadatka je korištenje podupita u kojem seTablice odjela bit će odabrane ne svi podaci, već samo potrebni. To će, za razliku od prve metode, skratiti trajanje zahtjeva.
Odaberite Pe_ID, Pe_Name, Su_Id, Su_Name, DeP_ID, Dep_Name iz osobe Unutarnje spajanje Pododjeljak na Su_Person = Pe_ID Unutarnje spajanje (Odaberite Dep_ID, Dep_Name, Pe_Depart iz odlaska) kao T je Su_Depart = Dep_ID i Pe_Depart = DeP_ID 48)
Važno je napomenuti da takav dizajn ne mora uvijek ubrzati rad zahtjeva. Ponekad ima slučajeva kada je potrebno koristiti dodatni uzorak podataka u privremenoj tablici (ako je njihov volumen vrlo velik), a zatim ga kombinirati s osnovnim uzorkovanjem.