Kompiuteriai, Programavimas
SQL INNER JOIN pareiškimas: pavyzdžiai, sintaksė ir funkcijos
Bet kurios duomenų bazės kūrimas reiškia ne tik lentelių kūrimą ir pildymą su įvairia informacija, bet ir tolesnį darbą su duomenimis. Norint teisingai atlikti įvairias užduotis, kad būtų galima pasirinkti duomenis iš lentelių ir generuoti ataskaitas, naudojamas standartinis "Select" konstruktas.
Duomenys pasirodo iš lentelių
Jei manote, kad reikia pasirinkti duomenis arba kurti tam tikrą ataskaitą, galite nustatyti šios operacijos sudėtingumo lygį. Paprastai, dirbant su rimtais (pagal informacijos apimtis) duomenų bazėmis, kurios susidaro, pavyzdžiui, internetiniuose parduotuvėse ar didelėse įmonėse, duomenų atranka neapsiribos tik viena lentelė. Paprastai pavyzdžiai gali būti iš gana daug ne tik tarpusavyje sujungtų lentelių, bet ir į užduotus užklausimus / subqueries, kuriuos pats pats programuotojas, priklausomai nuo jam priskirtos užduoties. Norėdami paimti mėginius iš vienos lentelės, galite naudoti paprastą dizainą:
| Pasirinkite * iš asmens |
Kur asmuo yra lentelės pavadinimas, iš kurio galima rinktis duomenis.
Jei reikia pasirinkti duomenis iš kelių lentelių, galite naudoti vieną iš standartinių dizainų, kad sujungtumėte kelias lenteles.
Papildomų stalų prijungimo būdai
Jei mes apsvarstysime tokių struktūrų naudojimą pradiniame lygyje, galime išskirti šiuos mechanizmus norint sujungti reikiamą lentelių skaičių mėginį:
- Operatoriaus vidutinis prisijungimas.
- Kairysis prisijungimas arba tai yra antrasis įrašymo būdas, kairysis išorinis prisijungimas.
- Kryžius prisijungti
- Visiškai prisijungti.
Galite sužinoti, kaip naudoti operatorių SQL-Inner Join, jei naudojate prisijungusius operatorių lenteles. Naudojimo pavyzdys atrodys taip:
Pasirinkite * iš asmens Vidinis prisijungimo poskyris Su_Person = Pe_ID |
SQL kalbą ir prisijungti prie vidinio prisijungimo operatoriaus galima naudoti ne tik prisijungti prie dviejų ar daugiau lentelių, bet ir sujungti kitas subkevias, o tai labai palengvina duomenų bazių administratorių darbą ir paprastai gali žymiai paspartinti tam tikrų struktūrizuotų užklausų vykdymą.
Duomenų derinimas lentelėse eilutėje
Jei manote, kad prijungti daugybę subvarelių ir surinkti duomenis į vieną stalo eilutę pagal eilę, taip pat galite naudoti "Union" ir "Union All" operatorius.
Šių dizainų taikymas priklausys nuo užduoties, kurią sukūrė kūrėjas, ir rezultatų, kuriuos jis nori pasiekti pabaigoje.
Operatoriaus "Inner Join" aprašymas
Daugeliu atvejų naudojate "Inner Connect", kad prisijungtumėte prie kelių SQL lentelių. "Inner Join in SQL" aprašymas yra gana paprastas, kad vidutinis programuotojas suprastų, kuris tik pradeda suprasti duomenų bazes. Jei mes apsvarstysime šios konstrukcijos veikimo mechanizmo aprašymą, gausime šią nuotrauką. Operatoriaus kaip visumos logika grindžiama galimybe susikirtimams ir atrankai tik tiems duomenims, kurie egzistuoja kiekvienoje lentelėje, kuri yra įtraukta į užklausą.
Jei vertintume šį darbą grafiniu požiūriu, mes gauname SQL Inner Join struktūrą, kurios pavyzdys gali būti parodytas naudojant šią schemą:
Pavyzdžiui, mes turime dvi lenteles, kurių schema parodyta paveiksle. Jie, savo ruožtu, turi skirtingą įrašų skaičių. Kiekvienoje lentelėje yra laukai, kurie yra susieti. Jei bandysite paaiškinti operatoriaus darbą pagal skaičių, grąžintas rezultatas bus įrašų rinkinio forma iš dviejų lentelių, kur susijusių laukų skaičius sutampa. Paprasčiau tariant, užklausoje bus grąžinami tik tie įrašai (iš lentelės Nr. 2), kurių duomenys yra lentelės numeris vienas.
"Inner Join" operatoriaus sintaksė
Kaip minėta anksčiau, operatorius "Inner Connect", būtent jo sintaksė, yra labai paprastas. Norėdami organizuoti ryšius tarp lentelių viename pavyzdyje, pakanka prisiminti ir naudoti tokią pagrindinę operatoriaus sudarymo schemą, kuri parašyta vienoje programos eilutėje SQL kodo, būtent:
- Vidinis prisijungimas [lentelės pavadinimas] [rakto lauke iš lentelės, prie kurios mes prisijungsime] = [Pagrindinės prijungtos lentelės laukas].
Norėdami bendrauti šiame operatoriuje, naudojami pagrindiniai lentelių mygtukai. Paprastai lentelių grupėje, kurioje saugoma informacija apie darbuotojus, anksčiau aprašytas asmuo ir poskyris turi bent vieną panašų įrašą. Taigi, pažvelkime į "SQL Inner Join" pareiškimą, kurio pavyzdys buvo parodytas šiek tiek anksčiau.
Prisijungimo prie vieno langelio pasirinkimo pavyzdys ir aprašymas
Mes turime stalo "Person", kuriame saugoma informacija apie visus bendrovės darbuotojus. Tiesiog atkreipkite dėmesį, kad pagrindinis šios lentelės raktas yra laukas Pe_ID. Tiesiog ant jo ir bus krūva.
Antrojoje lentelėje "Subdivision" bus saugoma informacija apie departamentus, kuriuose dirba darbuotojai. Tai, savo ruožtu, yra susijęs su "Su_Person" srities pagalba su "Person" stalu. Ką tai reiškia? Remiantis duomenų schema, galite pasakyti, kad lentelėje "Darbuotojai" kiekvieno įrašo lentelėje bus pateikiama informacija apie departamentą, kuriame jie dirba. Būtent dėl šio ryšio dirba operatorius "Inner Connect".
Siekiant suprantamo naudojimo, apsvarstykite SQL vidinio prisijungimo operatorių (pavyzdžiai, kaip jį naudoti vienai ir dviem lentelėms). Jei mes apsvarstysime pavyzdį vienai lentelei, tai viskas yra gana paprasta:
Pasirinkite * iš asmens Vidinis prisijungimo poskyris Su_Person = Pe_ID |
Dviejų lentelių ir subquery jungimo pavyzdys
Operatorius SQL Inner Connect, kuris gali būti naudojamas norint pasirinkti duomenis iš kelių lentelių aukščiau nurodytu būdu, veikia šiek tiek sudėtingesniu principu. Dėl dviejų lentelių, mes apsunkiname problemą. Pavyzdžiui, turime lentelę "Išvykimas", kurioje saugoma informacija apie kiekvieną departamentą kiekviename skyriuje. Šioje lentelėje įrašomas departamento numeris ir darbuotojo numeris, ir jūs turite papildyti duomenų pavyzdį su kiekvieno departamento pavadinimu. Žvelgiant į priekį, verta paminėti, kad šios problemos sprendimui gali būti naudojami du metodai.
Pirmasis būdas yra sujungti skyrių lentelę su pavyzdžiu. Šiuo atveju galite organizuoti užklausą tokiu būdu:
Pasirinkite Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name iš asmens Vidinis prisijungimo poskyris Su_Person = Pe_ID Vidinis prisijungimas Išvykstate į Su_Depart = Dep_ID ir Pe_Depart = Dep_ID |
Antrasis metodas, kaip išspręsti problemą, yra subkrito naudojimas, kuriame iš skyrių lentelės bus parinkti ne visi duomenys, o tik būtini. Tai, priešingai nei pirmasis metodas, sumažins užklausos laiką.
Pasirinkite Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name iš asmens Vidinis prisijungimo poskyris Su_Person = Pe_ID Vidinis prisijungimas (pasirinkite Dep_ID, Dep_Name, Pe_Depart iš Išvykimo) kaip T į Su_Depart = Dep_ID ir Pe_Depart = Dep_ID |
Verta paminėti, kad šis dizainas ne visada gali pagreitinti užklausą. Kartais būna atvejų, kai laikinoje lentelėje reikia papildomai imti duomenis (jei jų tūris yra per didelis), tada jis derinamas su pagrindiniu imtuvu.
Pavyzdys, kaip naudoti vidinį prisijungimą prie pasirinkimų iš daugybės lentelių
Sudėtingų užklausų sudarymas apima daugybę skaičių su viena kita susijusios duomenų lentelių ir subekspertų. Šie reikalavimai gali atitikti "SQL Inner Join" sintaksę. Tokiu atveju operatoriaus naudojimo pavyzdžiai gali būti sudėtingi ne tik daugelio duomenų saugojimo vietų pavyzdžiais, bet ir daugybe išdėstytų subqueries. Konkretaus pavyzdžio galite rinkti duomenis iš sistemos lentelių ("Inner Join SQL" operatorius). Pavyzdys - 3 lentelės - šiuo atveju turės gana sudėtingą struktūrą.
Šiuo atveju pridedami dar trys (pagrindinėje lentelėje) ir įvesti kelios duomenų atrankos sąlygos.
Naudodami operatorių "Inner Join", prisiminkite, kad kuo sudėtingesnė užklausa, tuo ilgiau ji bus įdiegta, todėl verta ieškoti būdų, kaip greitai atlikti ir išspręsti užduotį.
Išvada
Galų gale norėčiau pasakyti vieną dalyką: darbas su duomenų bazėmis nėra sudėtingiausias programavimo procese, taigi, jei norite, kad visi galėtų suprasti pastatų duomenų bazių žinias ir galiausiai įgyti patirties, galėsite dirbti su jais profesiniu lygmeniu. .
Similar articles
Trending Now