SQL INNER JOIN pareiškimas: pavyzdžiai, sintaksė ir funkcijos

Bet kokios duomenų bazės kūrimas nereiškiatik lentelių sukūrimas ir pildymas su įvairia informacija, bet ir tolesnis darbas su duomenimis. Norint teisingai atlikti įvairias užduotis rinkti duomenis iš lentelių ir generuoti ataskaitas, naudojamas standartinis "Select" konstruktas.

sql vidinis prisijungti pavyzdys

Duomenys gaunami iš lentelių

Jei apsvarstysime duomenų arba duomenų atrankos problemąkuriant 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 bendrovė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, kurias pats programuotojas sukuria, priklausomai nuo užduoties, kuri jai priskiriama. Norėdami paimti mėginius iš vienos lentelės, galite naudoti paprastą dizainą:

Pasirinkite * iš asmens

kai asmuo yra lentelės, iš kurios galima rinktis duomenis, pavadinimas.

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 manome, kad tokios struktūros yra naudojamos pradiniame lygyje, mes galime išskirti šiuos mechanizmus norint sujungti reikiamą lentelių skaičių mėginį:

  1. Operatoriaus vidutinis prisijungimas.
  2. Kairysis prisijungimas arba tai yra antrasis įrašymo būdas, kairysis išorinis prisijungimas.
  3. Kryžius prisijungti
  4. Visiškai prisijungti

Galite sužinoti apie operatoriaus SQL-Inner Join naudojimą, jei naudojate prisijungusių operatorių lenteles. Naudojimo pavyzdys atrodys taip:

Pasirinkite * iš asmens

Vidinis prisijungimo poskyris Su_Person = Pe_ID

SQL kalba ir prisijungti prie vidinio prisijungimo gali būtiNaudokite ne tik sujungti dvi ar daugiau lenteles, bet ir sujungti kitas subqueries, o tai labai palengvina duomenų bazių administratorių darbą ir paprastai gali žymiai pagreitinti tam tikrų struktūriškai sudėtingų užklausų vykdymą.

Duomenų derinimas lentelėse eilutėje

operatoriaus sql vidinis prisijungti pavyzdžius

Jei mes manome, kad daug sub-užklausų ryšį, ir duomenis surinkti į vieną lentelę pagal kiekvieną eilutę, jūs taip pat galite naudoti operatorių Sąjungą ir Sąjungos viską.

Šių dizainų taikymas priklausys nuo užduoties, priskirtos kūrėjui, ir rezultatų, kuriuos jis nori pasiekti pabaigoje.

Operatoriaus "Inner Join" aprašymas

Daugeliu atvejų sujungti keletąSQL lentelėse naudokite operatorių "Inner Join". "Inner Join in SQL" aprašymas yra gana paprastas, kad vidutinis programuotojas suprastų, kuris tik pradeda suprasti duomenų bazes. Jei aptarsime šios konstrukcijos veikimo mechanizmo apibūdinimą, gausime šią nuotrauką. Operatoriaus kaip visumos logika remiasi galimybe susikirsti ir atrinkti tik tuos duomenis, kurie egzistuoja kiekvienoje iš užklausų pateiktų lentelių.

Jei manome, kad šis darbas yra grafiškai suprantamas, mes gauname SQL Inner Join struktūrą, kurios pavyzdys gali būti parodytas naudojant šią schemą:

sql vidiniai prisijungti sintaksės pavyzdžiai

Pavyzdžiui, mes turime dvi lenteles, kurių schemaparodyta paveikslėlyje. Jie, savo ruožtu, turi skirtingą įrašų skaičių. Kiekvienoje lentelėje yra laukai, kurie yra susieti kartu. Jei pabandysite paaiškinti operatoriaus darbą pagal paveikslą, grąžintas rezultatas bus įrašų rinkinys iš dviejų lentelių, kuriame atitinkamų 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ėje Nr. 1.

"Inner Connect" operatoriaus sintaksė

Kaip minėta anksčiau, operatorius Inner Join irtai jo neįprastai paprasta sintaksė. Dėl santykių tarp lentelių per vieną mėginį organizacijos pakaks prisiminti ir naudoti šią schema iš operatoriaus, kuris yra numatytas vienoje eilutėje programinės įrangos SQL-kodo, ty statybos:

  • Vidinis prisijungimas [lentelės pavadinimas] [klavišo lauke iš lentelės, prie kurios mes prisijungsime] = [Pagrindinės prijungtos lentelės laukas].

Bendravimui šiame operatoriuje pagrindinisstalo raktus. 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 stalo pasirinkimo pavyzdys ir aprašymas

Mes turime asmens stalą, kur mes saugomeinformacija 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.

Antroji skilčių lentelė bus saugomaInformacija apie vienetus, kuriuose dirba darbuotojai. Tai, savo ruožtu, yra susijusi su "Su_Person" srities pagalba su "Person" stalu. Ką tai sako? Remiantis duomenų schema, galite sakyti, kad kiekvieno stalo "Darbuotojai" įrašo departamento lentelėje bus pateikta informacija apie departamentą, kuriame jie dirba. Būtent dėl ​​šio ryšio operatorius "Inner Join" dirbs.

Siekiant suprantamo naudojimo, apsvarstykite SQL vidinio prisijungimo pareiškimą (pavyzdžiai, kaip jį naudoti vienai ir dviem lentelėms). Jei aptarsime pavyzdį vienai lentelei, tai viskas yra gana paprasta:

Pasirinkite * iš asmens

Vidinis prisijungimo poskyris Su_Person = Pe_ID

Dviejų lentelių ir sub-užklausos sujungimo pavyzdys

sql ir prisijungti prie vidinio prisijungimo operatoriaus

SQL Inner Join operator, naudojimo pavyzdžiaikuris, pasirinkus duomenis iš kelių lentelių, gali būti organizuotas kaip nurodyta pirmiau, veikia šiek tiek sudėtingesniu principu. Dėl dviejų lentelių, mes apsunkiname problemą. Pavyzdžiui, turime lentelę "Išeiti", kurioje saugoma informacija apie visus departamentus kiekviename skyriuje. Šioje lentelėje įrašomas skyriaus numeris ir darbuotojo numeris, o duomenų pavyzdys turėtų būti papildytas kiekvieno departamento pavadinimu. Žvelgiant į ateitį, verta pasakyti, 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 nuo žmogaus

Vidinis prisijungimo poskyris Su_Person = Pe_ID

Vidinis prisijungimas Išeikite į Su_Depart = Dep_ID ir Pe_Depart = Dep_ID

Antrasis problemos sprendimo būdas yra naudotisub-query, kuriame yra ne visi duomenys, o tik reikalingi duomenys bus pasirinkti iš skyrių lentelės. Tai, priešingai nei pirmasis metodas, sumažins užklausos laiką.

Pasirinkite Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name nuo žmogaus

Vidinis prisijungimo poskyris Su_Person = Pe_ID

Vidinis prisijungimas (pasirinkite Dep_ID, Dep_Name, Pe_Depart iš Depart) kaip T į Su_Depart = Dep_ID ir Pe_Depart = Dep_ID

Reikėtų pažymėti, kad šis dizainas ne visadagali pagreitinti užklausą. Kartais būna atvejų, kai būtina laikinajame lentelėje naudoti papildomą duomenų atranką (jei jų tūris yra per didelis), tada jis derinamas su pagrindiniu imtuvu.

Operatoriaus "Inner Connect" naudojimas pavyzdžių iš daugybės lentelių

Tai reiškia, kad reikia sukurti sudėtingas užklausasnaudokite, norėdami pasirinkti duomenis daugybei tarpusavyje susijusių lentelių ir subkursu. Šie reikalavimai gali atitikti "SQL Inner Join" sintaksę. Tokiu atveju operatoriaus naudojimo pavyzdžiai gali būti sudėtingi ne tik mėginių iš daugybės duomenų saugojimo vietų, bet ir iš daugybės įdėtos 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ą.

vidinis prisijungti sql pavyzdys 3 lentelės

Šiuo atveju pridedama dar trys (pagrindinės lentelės) ir įvedamos kelios duomenų atrankos sąlygos.

Naudojant operatorių "Inner Join" yraAtminkite, kad kuo sudėtingesnė užklausa, tuo ilgiau ji bus įdiegta, taigi verta ieškoti būdų, kaip greičiau atlikti ir išspręsti užduotį.

vidinis prisijungti sql pavyzdys 3 lentelės

Išvada

Galų gale norėčiau pasakyti vieną dalyką: darbas su duomenų bazėmis yra ne pats sudėtingiausias dalykas, kuris yra programavimo procese, taigi, jei norėtumėte, kad visi galėtų įgyti žinių apie duomenų bazių kūrimą, galų gale, įgydami patirties, galėsite dirbti su jais profesiniu lygmeniu.

</ p>
Patinka:
0
Susiję straipsniai
Sintaksė: ką atrodo šis skyrius.
Infinite (Java) kilpa
Kaip sudaryti SQL užklausas - išsami
"Coalesce sql": aprašymas, funkcijos
MySQL JOIN: aprašymas, naudojimo pavyzdys
Tipo konversija. Apvalios ir Trunc funkcijos
BŪTINA SQL: aprašymas, sintaksė, pavyzdžiai
Degalinės operatorius: karjeros galimybės
Kompiuterio operatorius
Populiarios žinutės
aukštyn