Computer, Software
Coalesce SQL: inkcazelo, imizekelo ukubala
Xa ulungiselela SQL-imibuzo rhoqo kuvela imeko xa kuyimfuneko lokuthelekisa amaxabiso lwemihlathi ezininzi kunye neziphumo kubo xa oluqokelelweyo yisampulu nje, equka data (hayi engenanto). It uyayisombulula le ngxaki ngokugqibeleleyo mazwi Coalesce. Kweli nqaku uza kufumana inkcazelo epheleleyo yokuthetha Coalesce SQL, inkcazo yokusetyenziswa kwayo, kunye nemizekelo.
Isiphumo lwamaxabiso non-ezingenanto kunye Coalesce. iimpawu
Cinga SQL Coalesce ukuzisebenzisa:
- It ikuvumela ukuba ukhankanye naliphi na inani iingxoxo (ngokungafaniyo Isnull / Nvl / Nvl2, apho inani iimpikiswano kuphela).
- Kunokuthatha njenge subqueries ingxabano.
- Ibuyisela umphumela ulingana ixabiso lokuqala ngaphandle Null okanye Null, ukuba ngaphandle kokuba ixabiso Null inokufumaneka.
- SQL Coalesce ingasetyenziswa ukhethe Khetha amaxabiso isigwebo nonempty, kwakunye ukucola Apho ukuba amaxabiso ezingenanto column iseti akuvumelekanga (/ kuvunyelwe).
- Eli binzana kulingana ngexabiso ukusetyenziswa Case binzana, zitshekishwe nangendlela ecwangciswe kakuhle ngokulandelelana ingxoxo nganye kwi imeko Xa argument1 ayikho null ke argument1. Enyanisweni, Coalesce i "indlela emfutshane", yenzelwe usebenziso olulula, yaye database ezininzi optimizers zombuzo ubhale Coalesce case.
- Imisebenzi SQL Coalesce ziyafumaneka kuzo zonke ezinkulu zonxulumelwano iinkqubo zolawulo ledatha.
syntax Coalesce
Nabani na okhe wasebenzisa Coalesce ekulungiseleleni SQL-imibuzo, uyazi ukuba syntax binzana elula kakhulu. Kwanele kwindawo yegama zibonisa iimpikiswano lukhangelwa Null, wodwa ngeziphumlisi. Xa sicingela ukuba iziphakamiso amagama ARG1, ARG2, ... argN, Coalesce i lwesivakalisi iza kuba ngolu hlobo lulandelayo:
Coalesce (ARG1, ARG2, ... argN).
Lungisa i tafile ezimbalwa ukwenzela ukufunda indlela yokusebenza yeli binzana.
itheyibhile kulungiselelwa
Ukuze siqonde ngcono Coalesce SQL inkcazelo, ukudala kuvimba iitafile ezimbini data zinika ingcaciso izindlu.
Le theyibhile yokuqala iqulethe amagama Area ke iimpawu kunye kwindawo yabo. Le ndawo iya kuba luvavanyo (area_yt) okanye athi (area_decl).
id | object_name | area_yt | area_decl |
1 | isakhiwo 1 | 116,2 | 114 |
2 | zokwakha engagqitywanga 1 | 568 | |
3 | igumbi 1 | 64,7 | |
4 | Igumbi 2 | 34.2 | |
5 | sakhiwo 1 | 112 | 111,6 |
6 | ukwakhiwa 1 | ||
7 | amagumbi 3 | 27.9 | |
8 | ukwakhiwa 2 | 37.2 | 36.4 |
9 | isakhiwo 2 |
Le theyibhile yesibini Basic_characteristic ke iqulethe ulwazi iimpawu eziphambili wepropati - ulwandiso (Extension), ubunzulu (Ubunzulu), indawo (Area), umthamo (Scope), ubude (ubude).
id | object_name | Extension | ukujula | Area | scope | ubude |
1 | isakhiwo 1 | 892,4 | 30 | |||
2 | isakhiwo 2 | 48 | ||||
3 | ukwakhiwa 1 | 164,7 | ||||
4 | sakhiwo 1 | |||||
5 | igumbi 1 | 23.6 | ||||
6 | Igumbi 2 | 34.7 | ||||
7 | amagumbi 3 | 19.8 |
Yavandlakanya Coalesce inkcazelo kwezivakalsi SQL, ukusetyenziswa uze uqhubeke ngqo kule mizekelo.
imizekelo yokusetyenziswa
Yobeko e Coalesce binzana ilula kakhulu, kodwa kubalulekile ukuba ukulibala ukuba umphumo umyalelo uya kuba ixabiso lokuqala non-engenanto ezifumaneka kuluhlu ingxabano. Lo mazwi kubaluleke kakhulu, ngoko ke iingxoxo yebinzana kufuneka abekwe ngokolandelelwano ngokubaluleka. Indlela elula ukuqonda siseko isithuba itafile. Yenza umbuzo ukuba ukhetha igama propati, kwakunye nexabiso le ndawo:
KHETHA Area.id, Area.object_name, coalesce (Area.area_yt, Area.area_decl) FROM Area |
Kwaye ufumane isiphumo:
id | object_name | Coalesce |
1 | isakhiwo 1 | 116,2 |
2 | zokwakha engagqitywanga 1 | 568 |
3 | igumbi 1 | 64,7 |
4 | Igumbi 2 | 34.2 |
5 | sakhiwo 1 | 112 |
6 | ukwakhiwa 1 | |
7 | amagumbi 3 | 27.9 |
8 | ukwakhiwa 2 | 37.2 |
9 | isakhiwo 2 |
Kuba iprojekthi "Building 1", "Plot 1" kunye "Ulwakhiwo 2" amaxabiso omabini angu isikwere bahlutha, kodwa lendawo esulungekiswe ephambili, njengoko waveza oko kuluhlu lwe ingxabano kuqala. Expression Coalesce wafumana ixabiso lokuqala non-null, wamsa ukuba ayeke iingxoxo phambili ukubukela. Le ukwakhiwa yombuzo - ilungelo, ngenxa yokuba indawo ethile, yaza yahluzwa ngaphezu obhengezwe. Ukuba siye acaciswe njengoko ingxabano ukuya kwindawo kuqala, xa ngokuzalisa eli candelo etafileni bekungaba iphambili.
Ukongeza ukusebenzisa kwi Khetha, ngokufuthi Coalesce binzana lisetyenziswa kunye Apho imeko. It ivumela ukuba kunqumla umphumo imiqolo apho amaxabiso uluhlu amasimi engabhalwanga (okanye ngenye indlela, ku katsa ni ku result kuphela ezo amaxabiso apho uluhlu akananto). Le meko ufunyanwa kuyo yonke indawo, umzekelo, xa kwishishini ekuyilweni ungumqeshwa omtsha kwiziko ledatha wenza ulwazi kuphela ezingundoqo ngayo, wazalisa iinkcukacha ekhohlo 'ukuba kamva ". Ngokuthe ngcembe, i "izikhewu" ivele - okanye phambi itshekhi, okanye kolwalathiso umqeshwa ekhefini / ishishini uhambo / esibhedlele.
Khetha etafileni iimpawu eziphambili weepropati ekufuneka uphendulwe namnye yeenqobo iimpawu:
id KHETHA, object_name FROM Basic_characteristic Apho coalesce (Extension, Ubunzulu, Area, Scope, Ubude) alisebenzi |
Xa esi sicelo kule theyibhile kukho omnye umdlalo - i-object "Plot 1", onke amasimi apho iimpawu kungekhonto:
id | object_name |
4 | sakhiwo 1 |
Sinethemba lokuba yethu inkcazelo eneenkcukacha Coalesce SQL uncedo uqonde zonke iimpawu ukusetyenziswa kwalo eli binzana, kwakunye deal with bokuqonda ebalulekileyo.
Similar articles
Trending Now