Coalesce sql: opis, značilnosti uporabe, primeri

Pri sestavljanju sql-poizvedb se pogosto pojavi situacija, ko je pri vzorčenju podatkov potrebno primerjati vrednost več stolpcev in iz njih izpeljati, ki vsebuje podatke (ki niso prazni). Ta problem je popolnoma rešen z izrazom Coalesce. V tem članku boste našli popoln opis izraza Coalesce sql, opis značilnosti uporabe in primere.

Izpišite neprazne vrednosti z uporabo Coalesce. Funkcije

Upoštevajte posebnosti uporabe Sql Coalesce:
  • Omogoča, da podate poljubno število argumentov (za razliko od Isnull /Nvl /Nvl2, je število argumentov omejeno).
  • Lahko se upošteva kot podrejeni argument.
  • Vrne rezultat, ki je enak prvemu, ki je drugačen od vrednosti Null, Null, če ni drugačna od vrednosti Null.
  • Sql Coalesce se lahko uporabi v stavku Select za izbiro ne-prazne vrednosti, in v Kje podati, da niz stolpcev z praznimi vrednostmi ni dovoljen (/dovoljeno).
  • Ta izraz ustreza uporabi izraza Case, ki zaporedoma preveri vsak argument v stanju Ko argument1 ni ničelen, potem argument1. V bistvu je Coalesce "bližnjica", ustvarjena za preprosto uporabo, in v številnih optimizatorjih poizvedb DBMS ponovno napiše izraz Coalesce on Case.
  • Sql Coalesce funkcije so prisotne v vseh vodilnih sistemih za upravljanje relacijskih baz podatkov.



  • Sintaksa koalesciranja

    Vsakdo, ki je kadarkoli uporabil Coalesce med sql-poizvedbami, ve, da je sintaksa tega izraza zelo preprosta. Dovolj v kroguV oklepaju so navedeni argumenti, ki jih preverja Null, z vejico. Ob predpostavki, da imajo argumenti imena arg1 arg2 argN, bo sintaksa Coalesce izgledala takole: Coalesce (arg1 arg2 argN).
    Za preučitev mehanizma tega izraza bomo pripravili več tabel.

    Priprava tabel

    Za boljše razumevanje opisa Coalesce sql bomo v zbirki podatkov ustvarili dve tabeli, ki bodo vsebovali informacije o nepremičninskih objektih. Prva tabela območnega območja mora vsebovati ime nepremičnine in njeno območje. Področje lahko podate (area_yt) ali deklarirate (area_decl).

    id



    ime-objekta



    area_yt



    area_decl
    35

    1



    stavba 1



    1162



    114 50)


    2



    Predmet nepopolne gradnje 1






    )
    568



    3



    Prostori 1



    647

    )





    4



    Prostori 2





    95)

    342



    5



    zemljišča 1



    112


    1116



    6



    stavba 1


    125)



    Soba 3



    ) 149







    8



    Zgradbe 2





    Zgradba 2












    Druga tabela Osnovne značilnosti naj vsebuje informacije o glavnih značilnostih nepremičnine - razširitev, globina, območje (Območje, obseg, višina.


    globina


    196)
    Območje



    Področje uporabe



    Višina



    1



    Zgradba 21











    8924
    227)





    30



    2



    stavba 2
    )















    259)

    48



    3



    stavba 1



    1647 274)


















    4



    dežela 1
























    1











    236















    )







    347











    7



    Prostori 3







    )



    198









    Sintaksa Coalesce sql, opis , nenavadno uporabite in pojdite naravnost na primere.

    Primeri uporabe

    Sintaksa v izrazih Coalesce je zelo preprosta, vendar je pomembno, da se spomnite, da bo rezultat ukaza PRVA neprazna najdena vrednost iz seznama argumentov. Ta pripomba je zelo pomembna, zato je treba argumente v izrazu urediti po vrstnem redu njihove pomembnosti. Najlažje je razumeti načelo tabele kvadratov. Podajte zahtevoki izbere ime nepremičnine, kot tudi vrednost območja:




    SELECT Area.id Area.object_name, coalesce (Area.area_yt, Area.area_decl) FROM Area
    )
    In dobil rezultat:
    id



    object_name



    Coalesce



    1



    stavba 1



    1162



    2



    Predmet nepopolne gradnje 1



    568



    3



    Prostori 2






    Prostori 1



    647


    )
    342



    5



    Zemljišče 1



    112



    6



    Zgradba





    7



    Prostori 3






    372






    9



    Zgradba 2





    V objektih "stavba 1", "dežela Plot 1 "in" stavba 2 "sta bila napolnjena z obema vrednostma območja, vendar se je območje izkazalo za prednostno, saj je bilo navedeno na seznamu argumentov prvega. Izraz Coalesce je našel prvi negativni pomen in ga izrinil, kar je ustavilo nadaljnji pregled argumentov. Ta konstrukcija zahteve je resnična, ker je določeno področje bolj definitivno kot deklarirano. Če smo kot prvi argument navedli deklarirano območje, potem bi bilo pri polnjenju tega polja tabele prednostno. Poleg uporabe v Izberi se zelo pogosto uporablja izraz Coalesce s pogojem Where. Omogoča vam, da izrežete rezultat tistih vrstic, v katerih je vrednost seznama polj prazna(ali obratno, v rezultat vključite samo vrednosti, pri katerih seznam polj ni izpolnjen). Ta situacija se pojavi povsod: na primer, v podjetju, ko registrira novega zaposlenega v podatkovni bazi, samo osnovne informacije o njem in polnijo podrobne informacije, ki so ostale "za kasnejše". Postopoma se pojavijo "vrzeli" - bodisi pred preverjanjem, ali zaposleni zapusti dopust /potovanje /bolniško odsotnost.
    Iz tabele izberite glavne značilnosti nepremičnine, v kateri se ne zapolni nobena vrednost lastnosti:

    SELECT id, ime-objekta FROM Basic_characteristic Kje se združi (razširitev, globina, območje, obseg, višina) je null

    V skladu s to zahtevo je v tabeli ena naključje - objekt "Land 1", v katerem so vsa polja s karakteristikami prazna:

    id



    542) object_name



    4



    zemljišče 1

    Upamo, da vam je naš podroben opis Coalesce sql pomagal razumeti vse posebnosti uporabe tega izraza, kot tudi obravnavati pomembne nianse.

    Sorodne publikacije