Kompyuta, Programu
SQL INNER JOIN statement: mifano, syntax na vipengele
Maendeleo ya database yoyote yanamaanisha tu uumbaji na kujaza meza na habari mbalimbali, lakini pia kazi zaidi na data. Kwa utekelezaji sahihi wa majukumu mbalimbali kwa kuchagua data kutoka kwa meza na ripoti za kuzalisha, muundo wa kawaida wa Chagua hutumiwa.
Data inachukua kutoka kwa meza
Ikiwa unazingatia kazi ya kuchagua data au kujenga ripoti fulani, unaweza kuamua kiwango cha utata wa operesheni hii. Kama sheria, wakati wa kufanya kazi kwa taarifa za kina (juu ya kiasi cha habari), ambazo zinaundwa, kwa mfano, katika maduka ya mtandaoni au makampuni makubwa, sampuli ya data haitapunguzwa kwa meza moja tu. Kwa kawaida, sampuli zinaweza kuwa kutoka kwa idadi kubwa ya meza zisizounganishwa tu, lakini pia maswali yaliyotokana na maandishi ambayo programu hiyo yenyewe hufanya, kulingana na kazi iliyopewa. Kwa sampuli kutoka kwenye meza moja, unaweza kutumia muundo rahisi zaidi:
Chagua * kutoka kwa Mtu |
Ambapo Mtu ni jina la meza ambayo huchagua data.
Ikiwa kuna haja ya kuchagua data kutoka meza kadhaa, unaweza kutumia moja ya miundo ya kawaida ili kuchanganya meza kadhaa.
Njia za kuunganisha meza za ziada
Ikiwa tunazingatia matumizi ya miundo kama hiyo katika ngazi ya awali, basi tunaweza kutofautisha njia zifuatazo za kuunganisha meza muhimu ya sampuli, yaani:
- Ingia Jumuiya ya Kuendesha.
- Kushoto Kujiunga au, hii ndiyo njia ya pili ya kurekodi, Kushoto kwa Nje Kushiriki.
- Msalaba Jiunge.
- Kujiunga Kamili.
Matumizi ya meza ya waendeshaji wa kujiunga katika mazoezi yanaweza kujifunza kwa kuzingatia matumizi ya SQL operator - Jumuiya ya ndani. Mfano wa matumizi yake utaonekana kama hii:
Chagua * kutoka kwa Mtu Ugawanyiko wa ndani wa Su_Person = Pe_ID |
Lugha ya SQL na Wajumbe wa Kujiunga na Wajumbe wa Kujiunga inaweza kutumika sio tu kujiunga na meza mbili au zaidi, lakini pia kuunganisha safu zingine, ambazo zinawezesha sana kazi za watendaji wa database na, kama sheria, zinaweza kuharakisha utekelezaji wa maswali fulani ya muundo.
Kuchanganya data katika safu ya meza kwa mstari
Ikiwa unafikiria kuunganisha idadi kubwa ya vichwa vya habari na kukusanya data kwenye mstari mmoja wa meza kwa mstari, unaweza pia kutumia Wafanyakazi wa Umoja na Umoja.
Matumizi ya miundo hii itategemea kazi iliyowekwa kabla ya msanidi programu na matokeo ambayo anataka kufikia mwishoni.
Ufafanuzi wa Msajili wa Ndani
Mara nyingi, unatumia operator wa Kujiunga wa Ndani ili kujiunga na meza nyingi katika SQL. Maelezo ya kujiunga na ndani katika SQL ni rahisi sana kwa programu ya kawaida ya kuelewa, ambayo inaanza tu kuelewa database. Ikiwa tunazingatia maelezo ya utaratibu wa uendeshaji wa ujenzi huu, tunapata picha ifuatayo. Nakala ya operator kwa ujumla inategemea uwezekano wa kuingiliana na kusambaza data hizo pekee ambazo zipo katika kila meza zinazojumuishwa katika swala.
Ikiwa tunazingatia kazi hii kutoka kwa mtazamo wa ufafanuzi wa kielelezo, tunapata muundo wa SQL Inner Join, mfano wa ambayo inaweza kuonyeshwa kwa msaada wa mpango wafuatayo:
Kwa mfano, tuna meza mbili, mchoro ambao unaonyeshwa kwenye takwimu. Wao, kwa upande wake, wana idadi tofauti ya rekodi. Katika kila meza kuna mashamba ambayo yanaunganishwa pamoja. Ikiwa unajaribu kuelezea kazi ya operesheni kulingana na takwimu, matokeo yaliyorejeshwa yatakuwa kwenye mfumo wa seti ya kumbukumbu kutoka kwa meza mbili, ambapo idadi ya maeneo yanayohusiana yanapatikana. Kuweka tu, swala litarudi rekodi hizo tu (kutoka kwenye namba ya mbili), data ambayo iko katika nambari ya meza moja.
Syntax ya operator wa ndani wa kujiunga
Kama ilivyoelezwa hapo awali, operator wa ndani wa Kujiunga, yaani syntax yake, ni rahisi sana. Kuandaa viungo kati ya meza ndani ya sampuli moja, itakuwa ya kutosha kukumbuka na kutumia mpango mkuu wafuatayo kwa ajili ya kujenga operator, ambayo imeandikwa katika mstari mmoja wa programu ya SQL-code, yaani:
- Kujiunga ndani [jina la meza] juu ya [shamba muhimu kutoka kwenye meza tunayounganisha] = [Shamba muhimu ya meza iliyounganishwa].
Kwa mawasiliano katika operator hii, funguo kuu za meza hutumiwa. Kama kanuni, katika kikundi cha meza ambazo zinahifadhi habari kuhusu wafanyakazi, Mtu aliyejulikana hapo awali na Mgawanyiko wana rekodi moja sawa. Kwa hiyo, hebu tuchunguze kwa karibu Samoli ya Kujiunga ya ndani ya SQL, mfano ambao ulionyeshwa mapema kidogo.
Mfano na maelezo ya uunganisho kwenye uteuzi wa meza moja
Tuna meza ya Mtu inayoweka habari kuhusu wafanyakazi wote wanaofanya kazi katika kampuni hiyo. Tazama tu kwamba ufunguo kuu wa meza hii ni uwanja - Pe_ID. Tu juu yake na kutakuwa na kundi.
Mgawanyiko wa meza ya pili utahifadhi habari kuhusu idara ambazo wafanyakazi hufanya kazi. Kwa hiyo, inahusishwa na msaada wa uwanja wa Su_Person na meza ya Mtu. Hii inamaanisha nini? Kulingana na schema ya data, unaweza kusema kuwa katika meza ya kitengo kwa kila kuingia katika meza ya Waajiri kutakuwa na habari kuhusu idara ambayo wanafanya kazi. Ni kwa ajili ya uhusiano huu ambao mtendaji wa Kujiunga wa Ndani atafanya kazi.
Kwa matumizi ya kueleweka zaidi, fikiria operator wa SQL wa Kujiunga Ndani (mifano ya matumizi yake kwa meza moja na mbili). Ikiwa tunazingatia mfano kwa meza moja, basi kila kitu ni rahisi sana:
Chagua * kutoka kwa Mtu Ugawanyiko wa ndani wa Su_Person = Pe_ID |
Mfano wa kuunganisha meza mbili na subquery
Mpangilio wa ndani wa SQL wa Kujiunga, ambayo inaweza kutumika kuchagua data kutoka meza kadhaa kwa njia ya hapo juu, hufanya kazi kwa kanuni ngumu zaidi. Kwa meza mbili, tunavuta tatizo. Kwa mfano, tuna meza ya Kuondoka, inayohifadhi maelezo kuhusu idara zote katika kila idara. Katika meza hii, nambari ya idara na idadi ya wafanyakazi ni kumbukumbu na unahitaji kuongeza sampuli ya data na jina la kila idara. Kuangalia mbele, ni muhimu kutaja kuwa njia mbili zinaweza kutumiwa kutatua tatizo hili.
Njia ya kwanza ni kuunganisha meza ya idara kwa sampuli. Katika kesi hii, unaweza kuandaa swala kwa njia hii:
Chagua Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name kutoka kwa Mtu Ugawanyiko wa ndani wa Su_Person = Pe_ID Uunganisho wa ndani Nenda kwenye Su_Depart = Dep_ID na Pe_Depart = Dep_ID |
Njia ya pili ya kutatua tatizo ni kutumia sura ambayo si data yote, lakini tu muhimu, itachaguliwa kutoka meza ya idara. Hii, kinyume na njia ya kwanza, itapunguza muda wa swala.
Chagua Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name kutoka kwa Mtu Ugawanyiko wa ndani wa Su_Person = Pe_ID Uunganisho wa ndani (Chagua Dep_ID, Dep_Name, Pe_Depart kutoka Kwenda) kama T juu ya Su_Depart = Dep_ID na Pe_Depart = Dep_ID |
Inapaswa kutambua kwamba kubuni hii haiwezi kuharakisha swala daima. Wakati mwingine kuna matukio wakati ni muhimu kutumia sampuli ya ziada ya data katika meza ya muda (ikiwa kiasi chake ni kubwa mno), na kisha ni pamoja na sampuli kuu.
Mfano wa kutumia operator wa ndani wa Kujiunga kwa uchaguzi kutoka kwa idadi kubwa ya meza
Kujenga maswali magumu kunahusisha kutumia idadi kubwa ya meza na vichwa vinavyolingana kuhusiana na data ili kupata data. Mahitaji haya yanaweza kukidhi syntax ya Kujiunga ya Ndani ya SQL. Mifano ya matumizi ya operator katika kesi hii inaweza kuwa ngumu si tu kwa sampuli kutoka maeneo mengi ya hifadhi ya data, lakini pia kutoka kwa idadi kubwa ya vituo vya maiti. Kwa mfano maalum, unaweza kuchukua sampuli ya data kutoka kwa meza za mfumo (wajumbe wa ndani wa SQL Jiunge). Mfano - meza 3 - katika kesi hii itakuwa na muundo tata sana.
Katika kesi hii, zaidi ya tatu huongezwa (kwa meza kuu) na hali kadhaa za uteuzi wa data zimeingia.
Unapotumia Mshirika wa Ndani wa Kujiunga, kumbuka kuwa swala linalo ngumu zaidi, litatekelezwa tena, kwa hiyo ni muhimu kuangalia njia za kufanya haraka na kutatua kazi.
Hitimisho
Mwishoni, ningependa kusema kitu kimoja: kufanya kazi na taarifa sio jambo ngumu sana katika programu, hivyo kama unataka kabisa kila mtu anaweza ujuzi wa databasti za kujenga, na hatimaye, kupata uzoefu, utaweza kufanya kazi nao kwenye ngazi ya kitaaluma .
Similar articles
Trending Now