Coalesce sql: opis, uporaba, primeri
Ko pripravljate sql-poizvedbe, se pogosto zgodi, da morate pri izbiranju podatkov primerjati vrednosti več stolpcev in izvesti eno od njih, ki vsebuje podatke (ne prazne). Ta problem je popolnoma rešen z izrazom Coalesce. V tem članku boste našli popoln opis izraza Coalesce sql, opis funkcij uporabe, pa tudi primere.
Vsebina
Izhod neveljavnih vrednosti z uporabo Coalesca. Značilnosti
Razmislite o Sql Coalesce lastnosti uporabe:
- Dodeli indikacijo poljubnega števila argumentov (v nasprotju z Isnull / Nvl / Nvl2, število argumentov je omejeno).
- Lahko sprejme podprojekt kot argument.
- Vrne rezultat, ki je enak prvi razen Null ali Null, če ni bila najdena nobena vrednost, razen Null.
- Sql Coalesce lahko uporabite v stavku Select, da izberete ne-prazno vrednost, in tudi v Kje določite, da niz stolpcev s praznimi vrednostmi ni dovoljen (/ dovoljen).
- Ta izraz je enakovreden uporabi izraza Case, ki vsako zaporedje preveri za pogoj, ko argument1 ni null in argument1. Dejansko je Coalesce "bližnjica", ki je zasnovana za enostavno uporabo, v mnogih optimizatorjih poizvedb DBMS pa ponovite izraz Coalesce na primeru.
- Funkcije Sql Coalesce so na voljo v vseh vodilnih relacijah sistemi za upravljanje baz podatkov.
Sintaksa Coalesce
Vsakdo, ki je kdajkoli uporabil Coalesce za sestavljanje sql-poizvedb, ve, da je sintaksa tega izraza zelo preprosta. Dovolj je, da v oklepajih navedite argumente, preverite na Null, ločeni z vejicami. Če predpostavimo, da imajo argumenti imena arg1, arg2, hellip-argN, potem bo skladnja Coalesca izgledala takole:
Coalesce (arg1, arg2, hellip-argN).
Pripravimo več tabel za preučevanje mehanizma tega izraza.
Priprava miz
Za boljše razumevanje opisa programa Coalesce sql bomo v podatkovni bazi ustvarili dve tabeli z informacijami o nepremičninskih objektih.
Prva tabela z območji mora vsebovati imena nepremičnin in njihovih območij. Območje je mogoče izboljšati (area_yt) ali prijaviti (area_decl).
id | ime objekta | area_yt | area_decl |
1 | Stavba 1 | 116.2 | 114 |
2 | Nedokončan gradbeni objekt 1 | 568 | |
3 | Soba 1 | 64.7 | |
4 | Soba 2 | 34.2 | |
5 | Zemljišče 1 | 112 | 111.6 |
6 | Objekt 1 | ||
7 | Sobe 3 | 27.9 | |
8. mesto | Gradnja 2 | 37.2 | 36.4 |
9 | Stavba 2 |
Druga tabela Basic_characteristic let vsebuje informacije o glavni značilnosti lastnosti - razširitev, globina, področje, obseg, višina.
id | ime objekta | Razširitev | Globina | Območje | Področje uporabe | Višina |
1 | Stavba 1 | 892.4 | 30 | |||
2 | Stavba 2 | 48 | ||||
3 | Objekt 1 | 164.7 | ||||
4 | Zemljišče 1 | |||||
5 | Soba 1 | 23.6 | ||||
6 | Soba 2 | 34.7 | ||||
7 | Sobe 3 | 19.8 |
Preučili smo sintakso zbirke Coalesce, opis, lastnosti uporabe in nadaljevali s primeri.
Primeri uporabe
Sintaksa izraza Coalesce je zelo preprosta, vendar je pomembno zapomniti, da je rezultat ukaza FIRST neprazna vrednost, ki jo najdemo na seznamu argumentov. Ta opomba je zelo pomembna, zato je treba argumente v izrazu postaviti po pomembnosti. Najlažji način razumevanja načela območja mize. Izvedite zahtevo, ki izbere ime znamke in območno vrednost:
SELECT Area.id, Area.object_name, coalesce (Area.area_yt, Area.area_decl) Iz območja |
In dobite rezultat:
id | ime objekta | Coalesce |
1 | Stavba 1 | 116.2 |
2 | Nedokončan gradbeni objekt 1 | 568 |
3 | Soba 1 | 64.7 |
4 | Soba 2 | 34.2 |
5 | Zemljišče 1 | 112 |
6 | Objekt 1 | |
7 | Sobe 3 | 27.9 |
8. mesto | Gradnja 2 | 37.2 |
9 | Stavba 2 |
Za predmete "stavba 1", "zemljiška parcela 1" in "gradnja 2" so bile obe površinski vrednosti zapolnjene, prednost pa je bilo rafinirano območje, saj smo ga najprej navedli na seznamu argumentov. Izraz Coalesce je našel prvo ne-prazno vrednost in jo izpeljal, ustavil nadaljnje pregledovanje argumentov. Ta konstrukcija poizvedbe je pravilna, ker je določeno območje bolj specifično od deklarirane. Če določimo območje, ki je deklarirano kot prvi argument, potem, če je poln ta polju tabel, bi bilo prednostno.
Poleg uporabe v izboru se zelo pogosto uporablja izraz Coalesce s klavzulo Kje. Omogoča vam, da iz rezultata izrežete tiste črte, v katerih je seznam polj prazen (ali obratno, vključite le tiste vrednosti v rezultat, kjer seznam polj ni zapolnjen). Ta položaj je povsod: na primer, ob registraciji novega zaposlenega so bili v bazo podatkov vneseni le osnovni podatki o zaposlenem, podrobne informacije pa so ostale "pozneje". Postopoma se "vrzeli" plavajo - bodisi pred preverjanjem bodisi pri pošiljanju zaposlenega na počitnice / službena potovanja / bolniške počitnice.
Iz tabele izberite glavne značilnosti nepremičninskih objektov, ki nimajo nobene vrednosti lastnosti:
SELECT id, ime-objekta FROM Basic_characteristic Kjer je coalesce (razširitev, globina, področje, obseg, višina) nič |
Za to poizvedbo se v tabeli nahaja eno ujemanje - objekt "Zemljišče 1", v katerem so vsa polja z značilnostmi prazna:
id | ime objekta |
4 | Zemljišče 1 |
Upamo, da vam bomo podrobno opisali opis zbirke Coalesce, ki vam bo pomagal razumeti vse značilnosti uporabe tega izraza in obravnavati pomembne nianse.
- SQL različen: opis, primeri, lastnosti
- Izjava Select (SQL)
- Osnovni stavki SQL
- Null-modem kabel: opis vmesnika, funkcije, ožičenje
- Kako sestaviti poizvedbe SQL - podrobni primeri
- MySQL izberi iz: operaterja vzorčenja
- SQL (vrste podatkov): tabela
- SQL Kje: metode in primere uporabe
- Funkcija `INDEX` v Excelu: opis, uporaba in primeri
- Kaj naredi funkcija SQL CONCAT?
- Kako izračunati modul v Excelu
- Funkcija ustvarjanja tabele v SQL - Ustvari tabelo
- Funkcija tabeliranja: kako napisati program?
- Razvrščanje vrst analitičnih funkcij v Oracle. Analitične funkcije v Oracle in glavne tehnične…
- Postopno ustvarjanje tabele SQL po korakih
- Printf C: opis, oblikovanje, primeri
- Funkcija sumiranja v SQL: SUM
- Razkrijte SQL: opis. Transact-SQL
- Praksa uporabe funkcije count MySQL
- Kako uporabljati v MySQL: časovni žig in datetime
- Številke oblikovanja: funkcija PHP number_format ()