KompyutaProgramu

MySQL JOIN: maelezo, ni mfano wa kutumia amri na mapendekezo

Maendeleo ya database ya rasilimali Internet haina tofauti na hifadhidata kiwango maendeleo katika mfumo wa MS SQL SERVER. Kwa kawaida, aina hii ya rasilimali hutumia lugha MY SQL, ingawa inaweza kutumika kwa maendeleo ya bidhaa standard programu kwa ajili ya matumizi ya ndani. Lakini swali katika makala si kwenda juu yake.

Mara nyingi wakati wa kufanya kazi na database katika kila moja ya lugha za kazi ya kufanya data sampuli kwenye hupata katika ripoti mbalimbali, grafu na kadhalika. Kama kanuni, utekelezaji wa aina hii ya matatizo sisi kutumia si moja lakini kadhaa meza, kuchanganya yao ndani ya ombi moja, sana kuufanya mfumo wake. Ni muhimu kuzingatia, kama wao lazima pato data kama itakuwa "catch up" meza, na nini matokeo itakuwa kukubalika zaidi kwa programu. Ili kutatua matatizo haya, kutumia moja ya kiwango lugha MySQL design - Jiunge.

dhana ya maneno Kujiunga

Lugha database maendeleo, bila kujali aina ya lugha, kwa kuchukua kama msingi maneno hali ya kamusi Kiingereza (ambayo ni kwa nini hali unajua Kiingereza, wewe Bude rahisi kufanya kazi na meza). Kutekeleza uhusiano meza katika sampuli zilizochukuliwa neno moja - Kujiunga. Katika lugha ya programu database kutumika SQL yangu. Tafsiri ya huduma ya neno ni sawa kama kwa lugha - "muungano".

Tafsiri MySQL muundo - Jiunge, moja yoyote ambayo itakuwa sawa. Kama decipher lengo la ujenzi, ambazo ni muhtasari wa kazi yake, sisi kupata thamani zifuatazo: design itaruhusu kukusanya sehemu zinazohitajika kutoka meza tofauti, au maswali nested katika sampuli moja.

Aina ya miundo ili kuchanganya

Kama programu inahitaji kukusanya sampuli kutoka meza nyingi, naye anajua mashamba muhimu katika wao na ni aina gani ya data inahitajika kwa ripoti, unaweza kutumia moja ya miundo msingi ya chama, ili kufikia matokeo taka. miundo msingi (kujiunga meza) ni nne:

  1. Inner kujiunga.
  2. Msalaba Kujiunga.
  3. Left kujiunga.
  4. Right Kujiunga.

Kulingana na kazi, kila mmoja miundo ya kiwango itakuwa kutoa matokeo tofauti, ambayo kupokea taarifa juu ya vigezo mbalimbali katika kipindi cha muda mfupi.

Kujenga na kinachojaza meza kwa matumizi ya baadaye

Kabla ya kuanza, kwa mfano, ya kuzingatia taratibu ya kufanya kazi na constructs data fusion lazima kuandaa meza kadhaa, na ambayo tutaendelea kufanya kazi. Hii itasaidia kuonyesha kanuni za waendeshaji wote, kwa kuongeza, ili Kompyuta kujifunza misingi yote meza rahisi ya programu.

meza ya kwanza kuelezea baadhi ya vitu na ambayo watu ni daima kukutana katika maisha yake.

meza ya pili itakuwa kuelezea baadhi ya sifa za vitu kutoka meza ya kwanza kuruhusu kazi zaidi na wao.

Kwa ujumla, meza mbili itakuwa ya kutosha kuonyesha mfano wa kazi zao. Sasa unaweza kuendelea na kuzingatia vitendo ya miundo yetu.

Kwa kutumia Inner Kujiunga

Kama ni kutumia MySQL muundo - Jiunge Ineer thamani ya kuzingatia baadhi ya makala yake. Mtindo huu utapata kuchagua meza zote mbili hizo tu rekodi ambazo ni katika kwanza na katika meza ya pili. Jinsi gani kazi? meza ya kwanza tuna bwana muhimu - ID, ambayo inaonyesha idadi Serial ya rekodi katika meza.

Unapofungua meza ya pili, ufunguo mmoja ni kutumika kama idadi mlolongo, mfano inaweza kuonekana katika takwimu. Wakati wa kuchagua data Chagua taarifa itaonyesha matokeo tu rekodi idadi Serial sanjari - kwa hiyo, ni ya kwanza na katika meza ya pili.

Wakati ujenzi ni muhimu kuelewa nini hasa unahitaji kupata data. makosa ya kawaida, hasa kwa watengenezaji wa database, ni irrational na yasiyofaa matumizi ya kubuni ndani Kujiunga. Kama mfano, MySQL Inner Kujiunga, unaweza kufikiria script kwamba atarudi kwetu ilivyoelezwa hapo awali na kujazwa na meza ya vitu habari na sifa zao. Lakini kunaweza kuwa na njia nyingi za kutumia design. Katika suala hili SQL langu ni lugha rahisi sana. Hivyo, unaweza kuona mifano ya kutumia MySQL Inner Kujiunga.

Kujiunga meza bila kubainisha vigezo yoyote. Katika hali hii, sisi kupata matokeo ya vile mpango:

Kama sisi zinaonyesha kwa maneno Solution: Kwa kutumia huduma, ni muhimu ya kuzingatia funguo kuu ya rekodi katika meza, matokeo ya kuweka itabadilika kwa kiwango kikubwa. Katika hali hii, sisi kupata sampuli, ambayo atarudi tu safu wale ambao huo funguo bwana.

Uwezekano wa mfano halisi wa tatu wa matumizi, wakati wakiongozwa na neno «kwenye» inaonyesha mashamba ambayo lazima kutokea kujiunga meza. Katika kesi hii, sampuli atarudi maelezo yafuatayo:

Makala Matumizi ya kushoto kujiunga

Kama tunaona njia nyingine ya kuchanganya meza kwa kutumia MySQL muundo - Jiunge, mtu anaweza taarifa tofauti katika data, ambayo ni outputted. utaratibu kama huo ni wa kushoto design.

Kwa kutumia mfumo wa kushoto kujiunga MySQL ina baadhi ya vipengele na, kama Inner, inahitaji uelewa wa wazi wa matokeo ya kupatikana.

Katika hali hii, kwanza huchagua rekodi zote kutoka meza ya kwanza, na dharura zaidi zinatokana kwenye mali pili ya meza. Katika hali hii, kama kuna rekodi, kwa mfano, "kinyesi" katika meza ya kwanza na meza ya pili hakuna mali yake, maonyesho ya kushoto operator mbele kuingia null, ambayo inazungumzia programu kwamba ishara juu ya mada hii si habari .

Kwa kutumia muundo huu utasaidia kujua ambayo mashamba au, kwa mfano, bidhaa katika duka haijawekwa bei, kipindi cha udhamini , na kadhalika.

Matumizi Mfano kushoto

Kuchukuliwa kwa mpangilio wa mazoezi operator kushoto Kujiunga MySQL kutumia meza ilivyoelezwa hapo awali. Kwa mfano, unahitaji kuchagua orodha nzima ya bidhaa ambazo ni katika duka, na kuangalia kwa baadhi yao hawakuwa kubeba tabia au sifa. Katika kesi hii, sampuli mapenzi kuonyesha bidhaa zote, na kwa wale ambao hawana mali, itoe nulls.

Ambapo matumizi katika ujenzi Kujiunga

Kama kigezo, chama ni pamoja na si tu zinaonyesha mashamba ambayo lazima kufanya meza uhusiano, lakini ni pamoja na operator wapi masharti.

Kwa mfano, fikiria script kwamba lazima kurudi kwetu tu rekodi wale ambao si kuweka chini ya ishara. Katika kesi hii, unahitaji kuongeza kubuni Kujiunga suala operator na kuonyesha kuwa ni lazima kurudishwa kama matokeo.

Wakati zinapotumika kwa MySQL Kujiunga - Wapi ni lazima ieleweke wazi kwamba inaonyesha tu kumbukumbu hizo ambazo ni pamoja na hali ya juu, na sampuli atakuwa kama ifuatavyo:

Maombi haya kuruhusu kufanya data sampuli maalum kuhusiana na programu ya hali kuchaguliwa. Hali hiyo inaweza kuonyesha kadhaa yanayoweza wakati wa kusasisha vigezo data uteuzi kuunganishwa na meza.

Kwa kutumia Kujiunga na mabadiliko ya data katika meza

Kubuni Kujiunga, kwa kweli, kwa wote. Utapata si tu kufanya aina ya sampuli, lakini pia kuungana na maombi kutoka kwa mtu wa meza kadhaa, kulazimisha masharti ya ziada katika sampuli. Design pia inaweza kutumika kwa ajili ya operesheni nyingine data. Hivyo, kujiunga inaweza kutumika na mabadiliko ya data katika meza. Au tuseme, kufafanua hali katika meza, au katika hali ambapo haja ya kuboresha data katika meza nyingi kwa hali hiyo hiyo.

Kwa mfano, fikiria tatizo zifuatazo. Kutokana meza tatu ambapo kuna baadhi ya ushahidi. Ni muhimu kufanya mabadiliko ya data katika meza zote mbili kwa kutumia hoja moja. Tu kwa ajili ya kutatua kazi hiyo inaweza kutumika katika amri Update Kujiunga design. Kujiunga aina sana ya muundo unategemea, kwa njia ile ile kama katika kesi ya data sampuli juu ya matokeo ya anayetaka kupata programu.

Fikiria mfano rahisi. Unahitaji kusasisha data ombi moja na hali hiyo. Aina hii ya swala ni ujenzi kuongeza database. Kwa kuandika maswali mbalimbali kwa ajili ya kila moja ya meza, kama unaweza kutumia kila data kudanganywa ombi moja? MFANO MySQL Update Kujiunga kwa upande wetu itakuwa:

Kujenga maswali magumu

Mara nyingi wakati wa kufanya kazi na database maswali muhimu ya kujenga si tu muungano wa meza kadhaa, lakini pia kwa matumizi ya ndogo ya maswali. matatizo kama ni vigumu kabisa kuelewa kwa novice hifadhidata programu. Ugumu ni kwamba sisi kufikiri kwa njia ya kila hatua, kuamua ni data kutoka jedwali au swala unahitaji kupata na jinsi wakati ujao wanapaswa kwenda kufanya kazi.

Ili kuelewa maalum zaidi inaweza kuchukuliwa (katika MySQL Kujiunga) mifano ya maswali magumu. Kama wewe ni mpya na ni mapya tu ya kazi na database, mafunzo hayo tu kunufaika. mfano halisi bora itakuwa kujiunga MySQL kushoto mifano.

hoja hii atarudi kwetu 58 kumbukumbu ya mkataba wa mauzo, ambayo ni kamili au kuna fedha usawa kwa tarehe kuchaguliwa. Katika hali hii, tarehe ya sasa. Pia katika sampuli aliongeza kwa hali ambayo mkataba lazima kichwa wahusika - "123". on-screen habari (data) litatatuliwa - yamepangwa kwa idadi ya mkataba.

mfano zifuatazo inaonyesha maelezo ya malipo yote, ambayo yanaonyesha idadi ya mkataba.

Kwa kutumia subqueries

Kama ilivyoelezwa hapo awali, wakati wa kufanya kazi na database inaweza kuwa pamoja si tu meza, lakini meza na ombi. Mtindo huu ni hasa kutumika kuongeza kasi ya swala na kuziimarisha yake.

Kwa mfano, kama unataka kutoka meza, ambayo ina mamia ya mashamba na, kusema, rekodi elfu, kuchagua sehemu mbili tu, ni muhimu kutumia swala ambalo hurudisha tu zinazohitajika, na kuchanganya pamoja na data kuu sampuli. Kama mfano MySQL Kujiunga Chagua unaweza kufikiria ombi la aina hii:

Siyo mbinu zote za matumizi ya miundo ya kiwango MySQL, na kiwango tu. Jinsi ya kutumia kubuni na kujiunga katika mojawapo ya hali zake, programu huamua, lakini ni thamani ya kukumbuka na kuzingatia nini matokeo lazima kupatikana kwa swala.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sw.birmiss.com. Theme powered by WordPress.