Coalesce sql: opis, značajke korištenja, primjeri

Pri kompiliranju sql-upita, često se javlja situacija kada je, prilikom uzorkovanja podataka, potrebno usporediti vrijednost nekoliko stupaca i zaključiti iz njih, koja sadrži podatke (ne prazne). Taj se problem savršeno rješava izrazom Coalesce. U ovom članku naći ćete potpuni opis izraza Coalesce sql, opis značajki upotrebe i primjere.

Izvedite ne-prazne vrijednosti koristeći Coalesce. Značajke

Razmislite o specifičnostima upotrebe Sql Coalesce:
  • Omogućuje vam da navedete bilo koji broj argumenata (za razliku od Isnull /Nvl /Nvl2, broj argumenata u kojima je ograničen).
  • Može se uzeti kao podređeni argument.
  • Vraća rezultat jednak prvom koji se razlikuje od vrijednosti Null, Null, ako vrijednost koja nije Null nije pronađena.
  • Sql Coalesce se može koristiti u izjavi Select za odabir ne-prazne vrijednosti, te u Where odrediti da skup stupaca s praznim vrijednostima nije dopušten (/dopušten).
  • Ovaj izraz jednak je korištenju izraza Case, koji uzastopno provjerava svaki argument u stanju Kada argument1 nije null, onda argument1. U biti, Coalesce je "prečac" stvoren za jednostavnu upotrebu, au mnogim optimizatorima upita DBMS-a prepisuje izraz Coalesce on Case.
  • Sql Coalesce funkcije prisutne su u svim vodećim sustavima za upravljanje relacijskim bazama podataka.



  • Sintaksa koalicije

    Svatko tko je koristio Coalesce u bilo koje vrijeme tijekom sql-upita, zna da je sintaksa ovog izraza vrlo jednostavna. Dosta u rundizagrade navode argumente, provjerene od strane Null, putem zareza. Uz pretpostavku da argumenti imaju nazive arg1 arg2 argN, koalicija sintaksa će izgledati ovako: Coalesce (arg1 arg2 argN).
    Pripremit ćemo nekoliko tablica za proučavanje mehanizma ovog izraza.

    Priprema tablica

    Da bismo bolje razumjeli opis Coalesce sql, u bazi podataka stvorit ćemo dvije tablice koje sadrže informacije o objektima nekretnina. Prva tablica Područje mora sadržavati naziv objekta i njegovo područje. Područje se može specificirati (area_yt) ili deklarirano (area_decl).

    id



    object_name



    area_yt



    area_decl
    35

    1



    zgrada 1



    1162



    50)


    2



    Predmet nepotpune konstrukcije 1






    )
    568



    3



    Prostori 1



    647

    )









    prostorije 2




    95)

    342



    5



    Zemljišta 1






    1116



    6



    zgrada 1


    125)



    Soba 3



    ) 149







    8



    Zgrade 2





    Zgrada 2












    Druga tablica sadrži osnovne informacije o glavnim karakteristikama nekretnine - proširenje, dubina, područje (Područje, opseg, visina.


    dubina


    196)
    Područje



    domet



    visina



    1



    Zgrada 21











    8924
    227)





    30



    2



    zgrada 2
    )















    259)

    48



    3



    zgrada 1



    1647 274)


















    4



    zemlja 1
























    1











    236














    )







    347











    7



    prostorije 3











    198









    Sintaksa Coalesce sql, opis , osebujna koristite i idite ravno na primjere.

    Primjeri upotrebe

    Sintaksa u izrazima Coalesce je iznimno jednostavna, ali važno je imati na umu da će rezultat naredbe biti PRVA ne-prazna pronađena vrijednost iz popisa argumenata. Ova napomena je vrlo važna, tako da argumenti u izrazu moraju biti uređeni redoslijedom njihove važnosti. Najlakši način je razumjeti princip tablice kvadrata. Napravite zahtjevkoja odabire ime nekretnine, kao i vrijednost područja:




    SELECT Area.id Area.object_name, coalesce (Area.area_yt, Area.area_decl) FROM Area
    )
    I dobiti rezultat:
    id



    object_name



    Coalesce



    1



    zgrada 1



    1162



    2



    Predmet nepotpune konstrukcije 1



    568



    3



    Premisi 2






    Prostori 1



    647


    )
    342



    5



    Zemljište 1



    112



    6



    Zgrada





    7



    prostorije 3






    372






    9



    zgrada 2





    U objektima "zgrada 1", "zemlja Grafikon 1 "i" Zgrada 2 "bili su ispunjeni s obje vrijednosti područja, ali se područje pokazalo prioritetnim jer je navedeno u popisu argumenata prve. Izraz Coalesce je pronašao prvo ne-negativno značenje i potisnuo ga, zaustavivši daljnji pregled argumenata. Ova konstrukcija zahtjeva je istinita, jer je određeno područje određenije od deklariranog. Ako smo kao prvi argument označili deklariranu površinu, tada bi prilikom popunjavanja ovog polja tablice bilo u prioritetu. Osim korištenja u Select, vrlo često se primjenjuje izraz Coalesce s uvjetom Where. Omogućuje vam da odrežete rezultat onih redaka u kojima je vrijednost popisa polja prazna(ili obrnuto, uključite u rezultat samo vrijednosti gdje popis popunjenih polja nije popunjen). Ova situacija se događa svugdje: na primjer, u poduzeću kada registrirate novog zaposlenika u bazi podataka samo osnovne informacije o njemu, i popunjavanje detaljne informacije lijevo "za kasnije". Postupno se pojavljuju "praznine" - ili prije provjere da li zaposlenik napušta odmor /putovanje /bolovanje.
    Odaberite iz tablice s glavnim karakteristikama nekretnine, u kojoj se ne popunjava niti jedna od vrijednosti karakteristika:

    SELECT id, ime_ objekta FROM Basic_characteristic Gdje se spajaju (Extension, Depth, Area, Scope, Height) null

    Prema ovom zahtjevu postoji jedna podudarnost u tablici - objekt "Zemlja 1", u kojem su sva polja s karakteristikama prazna:

    id



    542) object_name



    4



    Zemljište 1

    Nadamo se da vam je naš detaljan opis Coalesce sql pomogao da shvatite sve osobitosti korištenja ovog izraza, kao i da se nosite s važnim nijansama.

    Povezane publikacije