Coalesce sql: popis, vlastnosti použitia, príklady

Pri zostavovaní dotazov sql sa často vyskytuje situácia, keď pri odbere vzoriek je potrebné porovnať hodnotu niekoľkých stĺpcov a z nich odvodiť, ktorá obsahuje údaje (nie prázdne). Tento problém je dokonale vyriešený výrazom Coalesce. V tomto článku nájdete úplný opis výrazu Coalesce sql, popis funkcií použitia a príklady.

Vykonajte neprázdne hodnoty pomocou funkcie Coalesce. Funkcie

Zvážte zvláštnosti použitia Sql Coalesce:
  • Umožňuje špecifikovať ľubovoľný počet argumentov (na rozdiel od Isnull /Nvl /Nvl2, počet argumentov, ktoré sú obmedzené).
  • Môže sa považovať za podriadený argument.
  • Vráti výsledok rovný prvému, ktorý sa líši od hodnoty Null, Null, ak sa nenašla iná hodnota ako Null.
  • Sql Coalesce môže byť použitý v príkaze Vybrať na výber neprázdnej hodnoty av časti Kde určiť, že súbor stĺpcov s prázdnymi hodnotami nie je povolený (/povolený).
  • Tento výraz sa rovná použitiu výrazu Case, ktorý postupne overuje každý argument na podmienku Keď argument1 nie je null a argument1. V podstate je Coalesce "skratka" vytvorená pre jednoduché používanie av mnohých optimalizátoroch dotazov DBMS prepíše výraz Coalesce on Case.
  • Funkcie Sql Coalesce sú prítomné vo všetkých hlavných systémoch riadenia relačných databáz.



  • Coalesce syntax

    Každý, kto používal Coalesce kedykoľvek počas sql-queries, vie, že syntax tohto výrazu je veľmi jednoduchý. Dosť v kolev zátvorkách zadajte argumenty, skontrolované pomocou nuly, pomocou čiarky. Za predpokladu, že argumenty majú názvy arg1 arg2 argN, syntax Coalesce bude vyzerať takto: Coalesce (arg1 arg2 argN).
    Vypracujeme niekoľko tabuliek na štúdium mechanizmu tohto výrazu.

    Príprava tabuliek

    Na lepšie pochopenie popisu Coalesce sql vytvoríme v databáze dve tabuľky obsahujúce informácie o objektoch nehnuteľností. Prvá tabuľka oblasti oblasti by mala obsahovať názov nehnuteľnosti a jej oblasť. Táto oblasť môže byť špecifikovaná (plocha_yt) alebo deklarovaná (oblast_dekl).

    id



    object_name



    area_yt
    35

    1



    Budova 1


    50)


    2



    Objekt neúplnej konštrukcie 1


    )
    568



    3



    )





    4



    95)

    342



    5






    1116



    6



    125)



    Izba 3


    (141 ) 149







    8



    Budovy 2



    Budova 2












    Druhá tabuľka Basic_characteristic obsahuje informácie o hlavných vlastnostiach objektu - rozšírenie, hĺbka, plocha (Oblasť, Rozsah, Výška.


    Hĺbka


    196),
    , oblasť



    Obsah



    , výška



    1
    (211 )

    Budova 1











    , 8924







    30



    2



    Building 2 (242 )
















    ,
    ,
    , 48



    3



    Konštrukcia 1



    , 1647



















    4



    Land 1























    1











    , 236















    )







    , 347











    7



    , umiestnenie 3






    (389 )



    , 198









    , považuje za syntaxe splývajú SQL popis , zvláštne použite a prejdite priamo na príklady.

    Príklady použitia

    Syntax výrazov splývajú veľmi jednoduchá, ale je dôležité mať na pamäti, že výsledok príkazu bude prvý non-prázdna hodnota nájdená v zozname argumentov. Táto poznámka je veľmi dôležitá, takže argumenty vo vyjadrení musia byť usporiadané v poradí ich dôležitosti. Najjednoduchším spôsobom je pochopiť princíp tabuľky štvorcov. Vyžiadajte si požiadavkuktorý vyberie názov vlastnosti a význam tejto oblasti:




    Vyberte Area.id Area.object_name, splývajú (Area.area_yt, Area.area_decl) z oblasti (410 )
    a dostanete výsledok:

    iD hodnotu



    object_name



    splývajú



    1



    Stavebné 1



    , 1162



    2



    1 zariadenia vo výstavbe



    , 568



    3



    priestor 1



    , 647



    4



    umiestnenia 2

    (468 )
    342



    5



    Land 1



    , 112



    6



    stavba 1







    7



    , umiestnenie 3






    372






    , 9



    2 budovy





    , na objektoch budovanie "1", "krajina sekcia 1 "a" Stavba 2 "boli naplnené oboch spomínaných oblastiach, ale prioritná oblasť bola vylepšená tak, ako ju ukázal v prvom zozname argumentov. Výraz Coalesce našiel prvý negatívny význam a vyhnal ho a zastavil ďalšie preskúmanie argumentov. Táto konštrukcia požiadavky je pravdivá, pretože špecifikovaná oblasť je presnejšia ako deklarovaná. Ak sme ako prvý argument uviedli deklarovanú oblasť, potom pri vyplňovaní tohto poľa tabuľky by to bolo v priorite. Okrem použitia vo funkcii Vybrať sa veľmi často používa výraz Coalesce s podmienkou Kde. Umožňuje vám odrezať výsledok tých riadkov, v ktorých je hodnota zoznamu polí prázdna(alebo naopak, zahrňte vo výsledku iba hodnoty, pri ktorých nie je vyplnený zoznam polí). Táto situácia nastáva všade: napríklad v podniku pri registrácii nového zamestnanca do databázy iba základné informácie o ňom a vyplnenie podrobných informácií, ktoré zostali "neskôr". Postupne sa objavujú "medzery" - a to buď skôr, ako skontrolujete, či zamestnanec odíde z dovolenky /cestovania /nemocenskej dovolenky.
    Vyberte z tabuľky z hlavných charakteristík vlastností, ktoré ešte nedokončili niektorú z hodnôt:

    SELECT id, object_name FROM Basic_characteristic Kde COALESCE (Extension, hĺbka, plocha, Scope, výška) je null

    Podľa výsledkov v tabuľke je náhoda - objekt "plot 1", ktorý je k dispozícii všetky polia prázdne:

    id hodnota



    object_name



    4



    Land 1

    Veríme, že si náš podrobný popis splynúť sql vám pomôže pochopiť všetky funkcie použitia tohto výrazu, a vysporiadať sa s dôležitými nuansami.

    Súvisiace publikácie