Prilikom pisanja sql upita često se događasituacija kada je prilikom dohvaćanja podataka potrebno usporediti vrijednosti nekoliko stupaca i prikazati onaj koji sadrži podatke (nije prazan). Izraz Coalesce savršeno rješava ovaj problem. U ovom ćete članku pronaći potpuni opis izraza Coalesce sql, opis značajki njegove uporabe, kao i primjere.
![spojiti sql opis](/images/kompyuteri/coalesce-sql-opisanie-osobennosti-ispolzovaniya-primeri.jpg)
Izlaženje vrijednosti koje nisu prazne pomoću Coalescea. Osobitosti
Razmotrite značajke korištenja Sql Coalesce:
- Omogućuje navođenje bilo kojeg broja argumenata (za razliku od Isnull / Nvl / Nvl2, koji imaju ograničen broj argumenata).
- Može uzeti podupite kao argument.
- Vraća rezultat jednak prvi vrijednost koja nije Null ili Null ako nije pronađena vrijednost koja nije Null.
- Sql Coalesce se može koristiti u klauzuli Select za odabir vrijednosti koja nije prazna, kao i u odjeljku Gdje pojasniti da skup stupaca s praznim vrijednostima nije dopušten (/ je dopušten).
- Ovaj izraz je isti kao i korištenje izrazaSlučaj koji uzastopno provjerava svaki argument radi uvjeta Kada argument1 nije null tada argument1. U osnovi, Coalesce je prečica za jednostavnu upotrebu, a u mnogim DBMS -ima optimizatori upita prepisuju izraz Coalesce u Case.
- Sql Coalesce funkcije nalaze se u svim vodećim sustavima za upravljanje relacijskim bazama podataka.
![sql se spaja](/images/kompyuteri/coalesce-sql-opisanie-osobennosti-ispolzovaniya-primeri_2.jpg)
Spoji sintaksu
Svatko tko je ikada koristio Coalesce nasastavljajući sql-upite, zna da je sintaksa ovog izraza iznimno jednostavna. Dovoljno je u zagradama navesti argumente ispitane za Null, odvojene zarezima. Ako pretpostavimo da su argumenti nazvani arg1, arg2,… argN, tada će sintaksa za Coalesce biti sljedeća:
Spoji se (arg1, arg2, ... argN).
![sql funkcije spajanja](/images/kompyuteri/coalesce-sql-opisanie-osobennosti-ispolzovaniya-primeri_3.jpg)
Pripremimo nekoliko tablica za proučavanje mehanizma ovog izraza.
Priprema stolova
Kako bismo bolje razumjeli Coalesce sql opis, izradimo dvije tablice koje sadrže podatke o objektima nekretnina u bazi podataka.
Neka prva tablica, Područje, sadrži nazive nekretnina i njihovu površinu. Područje se može navesti (area_yt) ili deklarirati (area_decl).
iskaznica | ime_objekta | area_yt | area_decl |
1 | Zgrada 1 | 116,2 | 114 |
2 | Izgradnja u tijeku 1 | 568 | |
3 | Soba 1 | 64,7 | |
4 | Soba 2 | 34,2 | |
5 | Zemljište 1 | 112 | 111,6 |
6 | Zgrada 1 | ||
7 | Soba 3 | 27,9 | |
8 | Zgrada 2 | 37,2 | 36,4 |
9 | Zgrada 2 |
Druga tablica osnovnih_karakteristika nekasadrži podatke o glavnim karakteristikama nekretnine - proširenje, dubina, površina, opseg, visina.
iskaznica | ime_objekta | Produžetak | Dubina | Područje | Opseg | Visina |
1 | Zgrada 1 | 892,4 | 30 | |||
2 | Zgrada 2 | 48 | ||||
3 | Zgrada 1 | 164,7 | ||||
4 | Zemljište 1 | |||||
5 | Soba 1 | 23,6 | ||||
6 | Soba 2 | 34,7 | ||||
7 | Soba 3 | 19,8 |
Pogledali smo sintaksu Coalesce sql, opis, značajke uporabe, pa idemo izravno na primjere.
Primjeri uporabe
Sintaksa za izraz Coalesce iznimno je jednostavna,međutim, važno je zapamtiti da će naredba vratiti PRVU vrijednost koja nije prazna na popisu argumenata. Ova je primjedba vrlo značajna pa se argumenti u izrazu moraju poredati prema važnosti. Princip je najjednostavnije razumjeti iz tablice područja. Napravite upit koji odabire naziv svojstva, kao i vrijednost područja:
SELECT Area.id, Area.object_name, coalesce (Area.area_yt, Area.area_decl) IZ OBLASTI |
I dobijte rezultat:
iskaznica | ime_objekta | Spojiti se |
1 | Zgrada 1 | 116,2 |
2 | Izgradnja u tijeku 1 | 568 |
3 | Soba 1 | 64,7 |
4 | Soba 2 | 34,2 |
5 | Zemljište 1 | 112 |
6 | Zgrada 1 | |
7 | Soba 3 | 27,9 |
8 | Zgrada 2 | 37,2 |
9 | Zgrada 2 |
Za objekte "Zgrada 1", "Zemljište 1" i"Zgrada 2", obje vrijednosti područja su ispunjene, ali prioritet je bilo područje koje je navedeno, budući da smo ga naveli prvo u popisu argumenata. Izraz Coalesce pronašao je prvu vrijednost koja nije prazna i izbacio je, zaustavivši daljnje skeniranje argumenata. Ova konstrukcija upita je točna jer je navedeno područje određenije od deklariranog. Da smo deklarirano područje naveli kao prvi argument, onda kada bi se ovo polje tablice ispunilo, bilo bi mu prioritet.
Osim što se koristi u Selectu, vrlo čestoizraz Coalesce primjenjuje se s klauzulom Where. Omogućuje vam da iz rezultata izrežete one retke u kojima su vrijednosti popisa polja prazne (ili obrnuto, da u rezultat uključite samo one vrijednosti u kojima je popis polja prazan). Ova se situacija događa svugdje: na primjer, u poduzeću, pri registraciji novog zaposlenika, samo su osnovni podaci o njemu uneseni u bazu podataka, a popunjavanje detaljnih podataka ostavljeno je "za kasnije". Postupno se pojavljuju "praznine" - prije provjere ili prilikom slanja zaposlenika na godišnji odmor / službeno putovanje / bolovanje.
Odaberimo iz tablice s glavnim karakteristikama objekte nekretnina za koje nije popunjena niti jedna karakteristična vrijednost:
SELECT id, object_name IZ Osnovne_karakteristike Tamo gdje se spajanje (proširenje, dubina, područje, opseg, visina) nalazi nula |
Za ovaj upit postoji jedno podudaranje u tablici - objekt "Zemljište 1", u kojem su sva polja sa karakteristikama prazna:
iskaznica | ime_objekta |
4 | Zemljište 1 |
![sql spaja značajke korištenja](/images/kompyuteri/coalesce-sql-opisanie-osobennosti-ispolzovaniya-primeri_4.jpg)
Nadamo se da vam je naš detaljan Coalesce sql opis pomogao da razumijete sve značajke korištenja ovog izraza, kao i da se nosite s važnim nijansama.