Òdinatè, Lojisyèl
Sunir SQL: Deskripsyon, egzanp itilizasyon
Lè w ap prepare SQL-queries souvan yon sitiyasyon rive lè li nesesè yo konpare valè yo nan kolòn miltip ak pwodiksyon nan men yo Lè done ki nan egzanp lan, ki gen ladan done (pa vid). Li rezoud pwoblèm sa a parfe ekspresyon Coalesce. Nan atik sa a ou pral jwenn yon deskripsyon konplè nan ekspresyon Coalesce SQL, dekri teren nan itilizasyon, ak egzanp.
Sòti nan valè ki pa vid yo avèk Coalesce. karakteristik
Konsidere Sql Coalesce itilize patikilye:
- Li pèmèt ou presize nenpòt ki kantite agiman (kontrèman Isnull / Nvl / Nvl2, nan ki se nimewo a nan agiman limite).
- Li ka pran kòm yon agiman subqueries.
- Retounen rezilta egal a yon valè premye lòt pase Null oswa Null, si lòt pase se yon valè Null ka jwenn.
- SQL Coalesce ka itilize yo ka chwazi valè yo Chwazi fraz vid, osi byen ke yo rafine Ki kote ke valè kolòn seri vid pa pèmèt (/ pèmèt).
- ekspresyon Sa a se ekivalan a itilize nan ekspresyon Ka, tcheke sekans chak agiman sou kondisyon Lè Argument1 se pa nil Lè sa a, Argument1. An reyalite, Coalesce se yon "chemen kout", ki fèt pou fasilite la itilize, ak nan anpil baz done optimizeur rechèch reyekri sunir ekspresyon Ka.
- SQL Coalesce fonksyon yo disponib nan tout gwo relasyon sistèm jesyon baz done.
sentaks Coalesce
Nenpòt moun ki te janm itilize Coalesce a nan prepare SQL-demann, konnen ke sentaks la nan ekspresyon a se trè senp. Ase li nan parantèz endike agiman yo ap tcheke pou Null, separe pa vigil. Si nou asime ke agiman yo Men non arg1 a, arg2, ... argN, sunir sentaks la pral jan sa a:
Sunir (arg1, arg2, ... argN).
Prepare yon tab kèk pou etidye mekanis a nan operasyon nan ekspresyon sa a.
tab preparasyon
Pi byen konprann Coalesce deskripsyon SQL, kreye baz done a yo se de tab nan done ki bay enfòmasyon sou byen imobilye.
tab an premye gen non yo Zòn kite pwopriyete ak zòn yo. pouvwa Zòn nan dwe rafine (area_yt) oswa deklare (area_decl).
id | object_name | area_yt | area_decl |
1 | bilding 1 | 116.2 | 114 |
2 | Fini konstriksyon 1 | 568 | |
3 | chanm 1 | 64.7 | |
4 | Chanm nan 2 | 34.2 | |
5 | trase 1 | 112 | 111.6 |
6 | konstriksyon nan 1 | ||
7 | chanm 3 | 27.9 | |
8 | konstriksyon nan 2 | 37.2 | 36.4 |
9 | bilding 2 |
Tablo ki dezyèm Basic_characteristic kite gen enfòmasyon sou karakteristik prensipal yo nan pwopriyete a - ekstansyon (Ekstansyon), pwofondè (Pwofondè), zòn (Zòn), volim (Dimansyon), wotè (Tay).
id | object_name | ekstansyon | pwofondè | Zòn | dimansyon | Tay |
1 | bilding 1 | 892,4 | 30 | |||
2 | bilding 2 | 48 | ||||
3 | konstriksyon nan 1 | 164,7 | ||||
4 | trase 1 | |||||
5 | chanm 1 | 23.6 | ||||
6 | Chanm nan 2 | 34.7 | ||||
7 | chanm 3 | 19,8 |
Revize Coalesce deskripsyon sentaks SQL, l 'ak ale direkteman nan egzanp yo.
egzanp nan itilize
Sentaks nan Coalesce ekspresyon se trè senp, men li se enpòtan pa bliye ke rezilta a nan yo lòd, ki pral premye valè a ki pa vid yo te jwenn nan lis la agiman. obsèvasyon sa a se trè enpòtan, se konsa agiman yo nan ekspresyon an dwe dwe mete yo nan lòd ki gen enpòtans. Fason ki pi fasil konprann prensip la nan espas tab la. Kreye yon demann ki chwazi non an nan pwopriyete a, osi byen ke valè a nan zòn nan:
CHWAZI Area.id, Area.object_name, fuzyon (Area.area_yt, Area.area_decl) nan zòn |
Epi pou yo jwenn rezilta a:
id | object_name | sunir |
1 | bilding 1 | 116.2 |
2 | Fini konstriksyon 1 | 568 |
3 | chanm 1 | 64.7 |
4 | Chanm nan 2 | 34.2 |
5 | trase 1 | 112 |
6 | konstriksyon nan 1 | |
7 | chanm 3 | 27.9 |
8 | konstriksyon nan 2 | 37.2 |
9 | bilding 2 |
Pou pwojè a "Building 1", "Trase 1" ak "Estrikti 2" tou de valè yo kare a te plen, men li te zòn nan rafine nan priyorite, menm jan nou vize l 'nan lis la nan agiman an premye. Espresyon Coalesce jwenn premye valè a ki pa nil, yo mennen l 'yo sispann plis agiman gade. Sa a konstriksyon nan rechèch la - dwa a, paske plis rafine zòn espesifik pase deklare an. Si nou te espesifye kòm agiman an premye nan zòn nan te deklare, lè ranpli nan jaden sa a nan tab la li ta yo te yon priyorite.
Anplis de sa yo sèvi ak nan Chwazi a, souvan sunir se ekspresyon itilize ak kondisyon an Ki kote. Li pèmèt yo disparèt li nan mitan rezilta a nan ranje yo nan ki valè yo nan lis la nan jaden yo vid (oswa vis vèrsa, genyen ladan yo nan rezilta a se sèlman moun ki valè ki kote lis la jaden se vid). Se sitiyasyon sa a jwenn tout kote: pou egzanp, nan antrepwiz lan ak desen an nan yon anplwaye nouvo nan baz done a fèt sèlman debaz enfòmasyon sou li, epi ranpli detay yo kite "pou pita". Piti piti, "twou vid ki genyen yo" sòti - oswa anvan chèk la, oswa nan yon direksyon ki nan yon anplwaye nan vakans / biznis vwayaj / lopital.
Chwazi soti bò tab la karakteristik prensipal yo nan pwopriyete ki gen yo dwe reponn pa youn nan valè yo karakteristik:
Chwazi id, object_name KI SOTI NAN Basic_characteristic Ki kote fuzyon (Ekstansyon, Pwofondè, Zòn, Dimansyon, Wotè) se nil |
Pa demann sa a nan tablo a gen yon sèl matche ak - objè a "Trase 1", tout jaden yo ki nan ki karakteristik sa yo nan vid la:
id | object_name |
4 | trase 1 |
Nou espere ke nou an an detay deskripsyon Coalesce SQL ede w konprann tout karakteristik yo ki nan itilize nan ekspresyon sa a, osi byen ke kontra avèk nuans enpòtan.
Similar articles
Trending Now