Coalesce sql: popis, vlastnosti použití, příklady

Při sestavování dotazů sql se často objevuje situace, kdy při odběru vzorků je nutné porovnat hodnotu několika sloupců a od nich odvodit, která obsahuje data (není prázdná). Tento problém je dokonale vyřešen výrazem Coalesce. V tomto článku naleznete úplný popis výrazu Coalesce sql, popis vlastností použití a příklady.

Vyplňujte hodnoty, které nejsou prázdné, pomocí programu Coalesce. Funkce

Pomocí funkcí SQL splývají:
  • umožňuje použití libovolného počtu argumentů (na rozdíl od ISNULL /NVL /Nvl2 řada argumentů je omezena).
  • Může být považován za podřízený argument.
  • Vrátí výsledek rovný prvnímu, který se liší od hodnoty Null, Null, pokud není nalezena jiná hodnota než Null.
  • operátor SQL splývají může být použit pro výběr Select neprázdný hodnotu, jakož i V případě, určit, které sadu sloupců s prázdnými hodnotami je povoleno (/povoleno).
  • Tento výraz se rovná použití výrazu Case, který postupně ověřuje každý argument na podmínku Když argument1 není null a argument1. Coalesce je v podstatě "zkratka" vytvořená pro snadné použití a v mnoha optimalizátorech dotazů DBMS přepsání výrazu Coalesce on Case.
  • Funkce Sql Coalesce jsou přítomny ve všech předních systémech správy relačních databází.



  • Syntaxe splynout

    Každý, kdo někdy použita při přípravě splynout SQL dotazu, ví, že tento výraz syntax je velmi jednoduché. Dost v kruhuzávorky uvádějí argumenty zaškrtnuté políčkem Null pomocí čárky. Za předpokladu, že argumenty mají názvy arg1 arg2 argN, syntaxe Coalesce bude vypadat takto: Coalesce (arg1 arg2 argN).
    Připravíme několik tabulek pro studium mechanismu tohoto výrazu.

    Příprava tabulek

    Abychom lépe porozuměli popisu Coalesce sql, vytvoříme v databázi dvě tabulky obsahující informace o nemovitých objektech. První oblastní tabulka by měla obsahovat název vlastnosti a její oblast. Oblast může být zadána (oblast_yt) nebo deklarována (oblast_decl).

    id



    jméno_objektu



    area_yt
    35

    1



    Budova 1



    1162
    50)


    2



    Objekt neúplné konstrukce 1
    )
    568



    3



    )





    4



    95)

    342



    5






    1116



    6



    125)



    Pokoj 3


    (141 ) 149







    8



    Budovy 2



    Budova 2












    Druhá tabulka Basic_characteristic obsahuje informace o hlavních vlastnostech vlastnosti - Rozšíření, hloubka, plocha Oblast, Rozsah, Výška.

    id hodnota



    object_name



    rozšíření



    hloubky


    ,
    , oblast



    Obsah



    , výška



    1
    (211 )

    Budova 1











    , 8924







    30



    2



    Building 2 (242 )
















    ,
    ,
    , 48



    3



    Konstrukce 1



    , 1647



















    4



    Land 1























    , 5



    , umístění 1











    , 236











    6



    umístění 2


    (357 )







    , 347











    7



    , umístění 3






    (389 )



    , 198









    , považuje za syntaxe splývají SQL popis , zvláštní použijte a přejděte přímo k příkladům.

    Příklady použití

    Syntax výrazů splývají velmi jednoduchá, ale je důležité mít na paměti, že výsledek příkazu bude první non-prázdná hodnota nalezena v seznamu argumentů. Tento bod je velmi důležitý, protože argumenty v projevu musí uspořádat v pořadí podle důležitosti. Nejjednodušší způsob, jak pochopit, jak tabulkový prostor. Proveďte požadavekkterý vybere název vlastnosti a význam této oblasti:




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

    iD hodnotu



    object_name



    splývají



    1



    Stavební 1



    , 1162



    2



    1 zařízení ve výstavbě



    , 568



    3



    Prostor 1



    , 647



    4



    umístění 2

    (468 )
    , 342



    , 5



    Land 1



    , 112



    6



    Stavba 1







    7



    , umístění 3



    , 279



    8



    Konstrukce 2



    , 372



    , 9



    2 budovy





    , na objektech budování "1", „země Plot 1 "a" Budova 2 "byly vyplněny oběma hodnotami oblasti, ale oblast se ukázala být prioritou, jak bylo uvedeno v seznamu argumentů prvního. Výraz splývají našel první non-prázdnou hodnotu a přivedl ho zastavil další argumenty recenzi. Tato konstrukce požadavku je pravdivá, protože specifikovaná oblast je přesnější než deklarovaná. Máme-li zadán jako první argument ohlášené plochy, pak plnění polí v tabulce, bylo by to v prioritě. Kromě použití ve výběru se často používá výraz Coalesce s podmínkou Kde. Umožňuje ukončit výsledek těch řádků, ve kterých je hodnota seznamu polí prázdná(nebo naopak, zahrnout do výsledku pouze hodnoty, kde není vyplněn seznam polí). K této situaci dochází všude: například v podniku při registraci nového zaměstnance v databázi pouze základní informace o něm a vyplnění podrobných informací, které zůstaly "později". Postupně se objevují "mezery" - a to buď před ověřením, zda zaměstnanec opustí dovolenou /cestovní /nemocniční dovolenou.
    Vyberte z tabulky z hlavních charakteristik vlastností, které ještě nedokončily některou z hodnot:

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

    Podle výsledků v tabulce je náhoda - objekt "plot 1", který je k dispozici všechna pole prázdná:

    id hodnota



    object_name



    4



    Land 1

    Věříme, že si náš podrobný popis splynout sql vám pomůže pochopit všechny funkce použití tohoto výrazu, a vypořádat se s důležitými nuancemi.

    Související publikace