/ / Coalesce sql: opis, značajke uporabe, primjeri

Coalesce sql: opis, upotreba, primjeri

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

Izlaženje vrijednosti koje nisu prazne pomoću Coalescea. Osobitosti

Razmotrite značajke korištenja Sql Coalesce:

  1. Omogućuje navođenje bilo kojeg broja argumenata (za razliku od Isnull / Nvl / Nvl2, koji imaju ograničen broj argumenata).
  2. Može uzeti podupite kao argument.
  3. Vraća rezultat jednak prvi vrijednost koja nije Null ili Null ako nije pronađena vrijednost koja nije Null.
  4. 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).
  5. 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.
  6. Sql Coalesce funkcije nalaze se u svim vodećim sustavima za upravljanje relacijskim bazama podataka.

sql se spaja

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

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

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.