Kompyuta, Programu
Coalesce sql: maelezo, mifano ya matumizi
Wakati wa kuandaa sql-maswali mara nyingi hali hiyo hutokea wakati ni muhimu kulinganisha thamani ya safu wima nyingi na pato kutoka kwao wakati data sampuli, ambayo ni pamoja na data (si tupu). Ni kutatua tatizo hili kikamilifu kujieleza coalesce. Katika makala hii utapata maelezo kamili ya kujieleza coalesce sql, maelezo ya matumizi, na mifano.
Pato la maadili isiyo wazi na coalesce. makala
Fikiria SQL coalesce matumizi fulani:
- Inaruhusu kutaja idadi yoyote ya hoja (tofauti Isnull / NVL / Nvl2, ambapo idadi ya hoja ni mdogo).
- Inaweza kuchukua kama subqueries hoja.
- Returns matokeo sawa na thamani ya kwanza zaidi ya Null au Null, kama zaidi ya thamani Null inaweza kupatikana.
- SQL coalesce inaweza kutumika kuchagua Select maadili hukumu nonempty, pamoja na kuboresha wapi hiyo tupu safu ya kuweka maadili hairuhusiwi (/ kuruhusiwa).
- msemo huu ni sawa na matumizi ya Uchunguzi kujieleza, checked sequentially kila hoja na hali Wakati argument1 si null kisha argument1. Kwa kweli, coalesce ni "njia ya mkato", iliyoundwa kwa ajili ya urahisi wa kutumia, na katika database wengi swala optimizers kuandika upya coalesce kujieleza Case.
- SQL coalesce kazi zinapatikana katika kuu uhusiano wote usimamizi wa mifumo ya database.
syntax coalesce
Mtu yeyote ambaye amewahi kutumika coalesce katika kuandaa sql-maswali, anajua kwamba syntax wa kujieleza ni rahisi sana. Inatosha katika mabano zinaonyesha hoja ni checked kwa Null, kutengwa kwa koma. Kama sisi kudhani kwamba hoja ni majina ARG1, ARG2, ... argN, coalesce syntax itakuwa kama ifuatavyo:
Coalesce (ARG1, ARG2, ... argN).
Tayarisha Meza chache kutafiti utaratibu wa uendeshaji wa msemo huu.
maandalizi meza
Ili kuelewa vizuri coalesce sql maelezo, kuunda database ni meza mbili za data ambayo inatoa taarifa juu ya mali isiyohamishika.
meza ya kwanza ina majina Area basi mali na maeneo yao. eneo inaweza kuwa iliyosafishwa (area_yt) au alitangaza (area_decl).
id | object_name | area_yt | area_decl |
1 | jengo 1 | 116.2 | 114 |
2 | Unfinished ujenzi 1 | 568 | |
3 | chumba 1 | 64.7 | |
4 | chumba 2 | 34.2 | |
5 | Plot 1 | 112 | 111.6 |
6 | ujenzi wa 1 | ||
7 | vyumba 3 | 27.9 | |
8 | ujenzi wa 2 | 37.2 | 36.4 |
9 | jengo 2 |
meza pili Basic_characteristic basi ina taarifa juu ya tabia kuu ya mali - ugani (Extension), kina (kina), eneo (Area), kiasi (Upeo), urefu (Urefu).
id | object_name | Extension | kina | eneo | wigo | urefu |
1 | jengo 1 | 892.4 | 30 | |||
2 | jengo 2 | 48 | ||||
3 | ujenzi wa 1 | 164.7 | ||||
4 | Plot 1 | |||||
5 | chumba 1 | 23.6 | ||||
6 | chumba 2 | 34.7 | ||||
7 | vyumba 3 | 19.8 |
Upya coalesce sql syntax maelezo, matumizi na kuendelea moja kwa moja ya mifano.
mifano ya matumizi
Syntax kwa coalesce kujieleza ni rahisi sana, lakini ni muhimu si kwa kusahau kwamba matokeo ya amri itakuwa ya kwanza isiyo wazi thamani kupatikana katika orodha ya hoja. Uchunguzi huu ni muhimu sana, hivyo hoja katika maelezo lazima iwekwe kulingana na umuhimu. Njia rahisi ya kuelewa kanuni ya nafasi ya meza. Kujenga swala ambalo huchagua jina la mali, ikiwa ni pamoja na thamani ya eneo:
CHAGUA Area.id, Area.object_name, coalesce (Area.area_yt, Area.area_decl) FROM Area |
Na kupata Matokeo:
id | object_name | coalesce |
1 | jengo 1 | 116.2 |
2 | Unfinished ujenzi 1 | 568 |
3 | chumba 1 | 64.7 |
4 | chumba 2 | 34.2 |
5 | Plot 1 | 112 |
6 | ujenzi wa 1 | |
7 | vyumba 3 | 27.9 |
8 | ujenzi wa 2 | 37.2 |
9 | jengo 2 |
Kwa mradi wa "Ujenzi 1", "Konde la 1" na "Muundo 2" maadili zote mbili ni za mraba walikuwa kujazwa, lakini eneo hilo iliyosafishwa katika kipaumbele, kama sisi alisema katika orodha ya hoja ya kwanza. Kujieleza coalesce kupatikana kwanza bila-tupu thamani, na kumleta mbele ya kuacha viewing hoja zaidi. Hii ujenzi wa swala - kulia, kwa sababu iliyosafishwa zaidi eneo maalum ya alisema. Kama tuna maalum kama hoja ya kwanza katika eneo hilo alisema, wakati kujaza katika uwanja huu wa meza ingekuwa kipaumbele.
Mbali na kutumia katika Select, mara nyingi coalesce kujieleza ni kutumika kwa wapi hali hiyo. Ni inaruhusu kukatwa kutoka kwa matokeo ya mistari ambayo maadili ya orodha ya mashamba tupu (au kinyume chake, ni pamoja na katika matokeo hayo ni thamani ambapo orodha shamba ni tupu). Hali hii hupatikana kila mahali: kwa mfano, katika biashara na mpango wa mfanyakazi mpya kwa database alifanya tu taarifa za msingi kuhusu hilo, na kujaza maelezo kushoto "kwa ajili ya baadaye". Hatua kwa hatua, "pengo" kuibuka - au kabla hundi, au mwelekeo wa mfanyakazi katika safari ya likizo / biashara / hospitali.
Chagua kutoka meza sifa kuu ya tabia ambayo yanapaswa kujibiwa hakuna maadili ya tabia:
SELECT id, object_name FROM Basic_characteristic Ambapo coalesce (Extension, Kina, Eneo, Scope, Urefu) ni null |
By ombi hili katika meza kuna moja ya mechi - kitu "Konde la 1", sehemu zote ambazo tabia ya tupu:
id | object_name |
4 | Plot 1 |
Ni matumaini yetu kwamba yetu maelezo ya kina coalesce sql kukusaidia kuelewa makala yote ya matumizi ya msemo huu, pamoja na mkataba na nuances muhimu.
Similar articles
Trending Now