SQL izraz INNER JOIN: primjeri, sintaksa i značajke

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

Ako uzmete u obzir zadatak odabira podataka ili izrade izvješća, možete odrediti razinu složenosti operacije. U pravilu, kada se radi o ozbiljnim (u opsegu informacija) bazama podataka koje se formiraju, na primjer, u internetskim trgovinama ili velikim tvrtkama, uzorak podataka neće biti ograničen na samo jednu tablicu. Tipično, uzorci mogu biti iz prilično velikog broja ne samo povezanih tablica, već i ugrađenih upita /pod-upita koje programer sam, ovisno o zadatku koji mu je postavljen. Za uzorak iz jedne tablice, možete koristiti najjednostavniji konstrukt:




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

Ako se razmatra uporaba ovog tipa konstrukcija na početnoj razini, tada se mogu razlikovati sljedeći mehanizmi za povezivanje potrebnog broja uzoraka tablica, i to:
  • Operator Unutarnje spajanja.
  • Lijevo Pridružite se ili je drugi načinzapis, lijevo vanjsko spajanje.
  • Cross Join.
  • Full Join.
  • Korištenje operatora agregatora tablica u praksi može se naučiti ispitivanjem korištenja SQL izraza - Unutarnje spajanje. Primjer njegove uporabe bi izgledao ovako:




    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

    Ako razmislite o povezivanju velikog broja podupita i prikupljanja podataka u jednu tablicu redom po red, možete koristiti i Uniju i sve operatore Unije. Korištenje ovih dizajna ovisit će o zadatku postavljenom pred razvojnim programerima i rezultatu koji želi postići kao rezultat.

    Opis operatora unutarnjeg spajanja

    U većini slučajeva, izjava o unutarnjem spajanju koristi se za spajanje više tablica u SQL jezik. Opis Inner Join u SQL je prilično jednostavan za razumijevanje prosječnog programera koji tek počinje shvaćati baze podataka. Ako razmotrimo opis mehanizma ove konstrukcije, tada ćemo dobiti takvu sliku. Logika operatora kao cjeline temelji se na mogućnosti presijecanja i uzorkovanja samo podataka koji se nalaze na svakom ulazu u tablici upita. Ako razmotrimo takvo djelo u smislu grafičkog tumačenja, dobivamo strukturu operatora SQL Inner Join, čiji primjer može bitiprikazati uz pomoć sljedeće sheme:
    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.

    Sintaksa izraza Inner Join

    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.

    Primjer i opis spajanja na uzorak jedne tablice

    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

    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.

    Primjer korištenja naredbe Inner Join za uzorke iz velikog broja tablica

    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.

    Zaključak

    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.

    Povezane publikacije