Mga computerProgramming

Operator SQL Inner SUMALI: mga halimbawa ng syntax at mga tampok

Pagbuo ng anumang database kabilang hindi lamang ang paglikha at pagpuno ng mga talahanayan na may iba't ibang impormasyon, ngunit din sa karagdagang trabaho sa mga data. Upang tama magsagawa ng iba't-ibang mga gawain sa pagpili ng data mula sa mga talahanayan at pag-uulat, gamitin ang karaniwang Pumili ng disenyo.

Kunin ang data mula sa mga talahanayan

Kung isaalang-alang namin ang problema ng pagpili ng data o ang konstruksiyon ng isang ulat, maaari mong matukoy ang antas ng pagiging kumplikado ng mga operasyon. Bilang isang panuntunan, kapag pagharap sa malubhang (ayon sa dami) database, na kung saan ay binuo, halimbawa, sa mga online na tindahan o malalaking kumpanya, ang data pagpipilian ay hindi limitado sa isang solong table. Bilang isang panuntunan, ang mga sample ay maaaring mula sa isang medyo malaking bilang ng mga hindi lamang naka-link talahanayan, ngunit din nested mga query / sub-tanong, na kung saan ay gumagawa ng mga programmer, depende sa kanyang mga gawain. Para sa isang sample ng isang talahanayan ay maaaring gamitin ang pinakasimpleng istraktura:

Piliin * mula Person

kung saan Tao - pangalan ng talahanayan mula sa kung saan nais mong gumawa ng pagkuha ng data.

Kung, gayunpaman, kakailanganin mo upang piliin ang data mula sa maramihang mga talahanayan, isa sa mga karaniwang mga disenyo ay maaaring gamitin upang sumali sa maramihang mga talahanayan.

pagkonekta ng karagdagang Paraan talahanayan

Kung isaalang-alang namin ang paggamit ng naturang mga istraktura sa ang pangunahing antas, maaari naming makilala ang mga sumusunod na mga mekanismo upang ikonekta ang mga kinakailangang bilang ng mga sample talahanayan, namely:

  1. Operator Inner Sumali.
  2. Hinayaang Sumali o, ito ay ang ikalawang paraan ng pag-record, Kaliwa Outer Sumali.
  3. Cross Sumali.
  4. Buong Sumali.

Ang paggamit ng mga operator na sumali sa mga talahanayan sa kasanayan, maaari mong malaman sa pamamagitan ng isinasaalang-alang ang paggamit ng mga SQL na pahayag - Inner Sumali. Ang isang halimbawa ng paggamit nito ay magiging tulad ng sumusunod:

Piliin * mula Person

Inner sumali Subdivision sa Su_Person = Pe_ID

Wika SQL at Sumali Inner Sumali operator ay maaaring gamitin hindi lamang para sa pagsasama-sama ng dalawa o higit pang mga talahanayan, ngunit din upang ikonekta ang iba pang mga sub-tanong, na lubos na facilitates ang gawain ng administrador database, at, bilang isang patakaran, ay maaaring makabuluhang mapabilis ang pagpapatupad ng mga tiyak na, kumplikadong query istruktura.

Ang pagsasama-sama ng data sa mga talahanayan sa bawat linya

Kung isaalang-alang namin ang koneksyon ng isang malaking bilang ng mga sub-tanong, at ang data na binuo sa isang solong linya talahanayan sa pamamagitan ng linya, maaari mo ring gamitin ang mga operator Union at Union Lahat.

Ang paggamit ng mga kaayusan ay nakasalalay sa mga developer upang i-set mga layunin at ang mga resulta na gusto niyang makamit sa dulo.

Paglalarawan Inner Sumali operator

Sa karamihan ng kaso, upang pagsamahin ang maraming mga talahanayan sa SQL wika na ginagamit ng Inner Sumali operator. Paglalarawan Inner Sumali sa SQL ay medyo madali upang maunawaan ang mga average programmer kung sino ang nagsisimula pa lang upang maunawaan ang database. Kung isaalang-alang namin ang paglalarawan ng ang mekanismo ng trabaho ng structure na ito, makuha namin ang mga sumusunod na larawan. Ang logic operator bilang isang buo ay binuo sa crossing at ang posibilidad ng pagsa-sample lamang ang data na nasa bawat isa sa mga tables kasama sa tanong.

Kung titingnan natin ang ganitong uri ng trabaho sa mga tuntunin ng graphic interpretasyon, makuha namin ang SQL Inner Sumali operator istraktura, ang isang halimbawa ng kung saan maaaring maipakita sa pamamagitan ng mga sumusunod na pamamaraan:

Halimbawa, mayroon kaming dalawang mga talahanayan, na ipinapakita schematically sa pigura. Sila, sa pagliko, ay may isang iba't ibang mga bilang ng mga entry. Sa bawat isa sa mga mesa ay may mga patlang na may kaugnayan. Kung subukan namin upang ipaliwanag ang gawain ng operator sa batayan ng ang pagguhit, naibalik na resulta ay magiging isang set ng mga talaan mula sa dalawang mga talahanayan, kung saan ang mga kuwarto ay interconnected mga patlang nag-tutugma. Sa madaling sabi, ang query ay nagbabalik lamang ang mga tala (sa table number dalawa), na ang data ay nasa numero unong table.

Ang syntax ng Inner Sumali

Tulad ng nabanggit dati, ang operator Inner Sumali, lalo, ang syntax, hindi karaniwang simple. Para sa mga samahan ng mga relasyon sa pagitan ng mga talahanayan sa loob ng isang sample ay sumapat na tandaan at gamitin ang mga sumusunod eskematiko diagram ng ang konstruksiyon ng operator, na kung saan ay inireseta sa isang solong linya ng software SQL-code, namely:

  • Inner Sumali [Pangalan Table] sa [isang susi larangan ng table na kung saan kumonekta] = [pluggable key larangan ng mesa].

Para sa komunikasyon sa ang pahayag na ito ay higit sa lahat na ginamit talahanayan keys. Bilang isang panuntunan, sa grupo ng mga talahanayan na nag-iimbak ng impormasyon tungkol sa mga empleyado, dati inilarawan Taong Subdivision at magkaroon ng hindi bababa sa isang katulad na talaan. Kaya, kumuha ng mas malapit tumingin sa mga operator SQL Inner Sumali, isang halimbawa ng kung saan ay ipinapakita ng isang maliit na mas maaga.

EXAMPLE paglalarawan at koneksyon sa audio sample talahanayan

Mayroon kaming isang Tao mesa, na nag-iimbak ng impormasyon tungkol sa lahat ng mga empleyado na nagtatrabaho sa kumpanya. Lamang tandaan na ang master key ng talahanayan ay isang patlang - Pe_ID. Lamang sa mga ito at pumunta sa isang bundle.

Ang ikalawang Subdivision talahanayan ay mag-imbak ng impormasyon tungkol sa mga tanggapan kung saan ang mga empleyado gumagana. Siya, sa pagliko, ay konektado sa pamamagitan ng Su_Person patlang Tao table. Ano ang ibig sabihin nito? Batay sa data schema ay maaaring sinabi na sa mga unit ng talahanayan para sa bawat record sa table "empleyado" ay impormasyon tungkol sa mga departamento na kung saan sila gumana. Ito ay para sa komunikasyon na ito at ay gagana operator Inner Sumali.

Para sa isang mas intuitive paggamit ng isaalang-alang ang operator SQL Inner Sumali (halimbawa ng paggamit nito para sa isa o dalawang mga talahanayan). Kung isaalang-alang namin ang mga halimbawa ng parehong talahanayan, at pagkatapos ang lahat ay medyo simple:

Piliin * mula Person

Inner sumali Subdivision sa Su_Person = Pe_ID

EXAMPLE ikonekta ang dalawang mga talahanayan at subquery

Operator SQL Inner Sumali, halimbawa nito ay paggamit upang makuha ang data mula sa maramihang mga talahanayan ay maaaring isaayos sa itaas na paraan, ito ay nagtatrabaho sa isang maliit na pagkamagulo ng prinsipyo. Upang makapagpalubha ang gawain ng dalawang tables. Halimbawa, mayroon kaming Magsilayo kayo mesa na nag-iimbak ng impormasyon tungkol sa lahat ng mga kagawaran sa bawat isa sa mga dibisyon. Sa talahanayan na ito naitala division number at empleyado numero, at dapat na pupunan sa pamamagitan ng ang pangalan ng sample na data ng bawat department. Naghahanap ng maaga, ito ay nagkakahalaga na nagsasabi na maaari mong gamitin ang dalawang mga pamamaraan upang malutas ang problemang ito.

Ang unang paraan ay upang ikonekta ang mga kagawaran ng talahanayan upang makapag-sample. Ayusin ang kahilingan sa kasong ito ay maaaring maging tulad ng sumusunod:

Piliin Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name mula Person

Inner sumali Subdivision sa Su_Person = Pe_ID

Inner sumali Magsilayo kayo sa Su_Depart = Dep_ID at Pe_Depart = Dep_ID

Ang ikalawang paraan ng paglutas sa problema - ay ang paggamit ng isang subquery kung saan hindi lahat ng data ay napili mula sa departamento ng talahanayan, ngunit lamang ang kinakailangan. Ito ay sa kaibahan sa unang paraan, ito ay mabawasan ang oras ng kahilingan.

Piliin Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name mula Person

Inner sumali Subdivision sa Su_Person = Pe_ID

Inner sumali sa (Piliin Dep_ID, Dep_Name, Pe_Depart mula Lumayo ka) pati T sa Su_Depart = Dep_ID at Pe_Depart = Dep_ID

Ito ay nagkakahalaga ng pagpuna na ang ganitong arrangement ay hindi maaaring palaging mapabilis ang trabaho kahilingan. Minsan mayroong mga kaso na ito ay kinakailangan upang gamitin ang isang karagdagang data ng sample sa isang pansamantalang table (kung ang lakas ng tunog ay masyadong malaki), at pagkatapos ay ito ay pinagsama kasama ang pangunahing sample.

Halimbawa ng paggamit Inner Sumali operator upang samples mula sa isang malaking bilang ng mga talahanayan

konstruksiyon ay nagsasangkot ng paggamit ng mga kumplikadong mga query para sa mga sample ng mga makabuluhang halaga ng mga talahanayan ng data at subqueries interconnected. Ang mga kinakailangan ay maaaring masiyahan ang SQL Inner Sumali syntax. Mga halimbawa ng paggamit ng mga operator, sa kasong ito ay maaaring maging kumplikado hindi lamang mga halimbawa ng maraming mga lugar na imbakan, ngunit din na may isang malaking bilang ng mga nakapugad subqueries. Para sa isang kongkreto halimbawa, maaari kang kumuha ng data mula sa isang sample ng mga talahanayan system (Inner Sumali SQL na pahayag). Halimbawa - 3 ng talahanayan - sa kasong ito ay magkakaroon ng isang halip kumplikadong istraktura.

Sa kasong ito konektado (sa pangunahing table) at tatlong karagdagang nagpasimula ng ilang mga data na seleksyon kondisyon.

Kapag ginagamit ang Inner Sumali operator ay dapat tandaan na ang mga mas kumplikadong mga query, ang na ito ay maaring ipatupad, kaya dapat mong hanapin para sa mga paraan upang mas mabilis na magsagawa ng at malutas ang problema.

konklusyon

Sa katapusan, Gusto kong sabihin isang bagay: gumana sa database - ito ay hindi ang pinaka-mahirap na bagay sa programming, kaya kung gusto mong ang bawat solong tao ay magagawang upang makakuha ng kaalaman upang bumuo ng isang database, at sa paglipas ng panahon, makakuha ng karanasan, makakakuha ka ng upang gumana sa mga ito sa isang propesyonal na antas ng .

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 tl.delachieve.com. Theme powered by WordPress.