Coalesce sql: описание, характеристики на употреба, примери

При компилиране на sql-заявки често възниква ситуация, когато при извадката на данните е необходимо да се сравни стойността на няколко колони и да се извлекат от тях, които съдържат данни (които не са празни). Този проблем е напълно решен чрез израза Коалес. В тази статия ще намерите пълното описание на израза на Coalesce sql, описание на характеристиките на използване и примери.

Изведете непразни стойности, използвайки Coalesce. Характеристики

Разгледайте особеностите на употребата на Sql Coalesce:
  • Позволява да зададете произволен брой аргументи (за разлика от Isnull /Nvl /Nvl2, броят на аргументите в които е ограничен).
  • Може да се разглежда като подчинен аргумент.
  • Връща резултата, равен на първия, различен от стойността Null, Null, ако стойността, различна от Null, не бъде намерена.
  • Sql Coalesce може да се използва в оператора Select, за да се избере непразна стойност и в Where да се уточни, че набор от колони с празни стойности не е позволен (/разрешен).
  • Този израз се равнява на използването на израза Case, който проверява последователно всеки аргумент на условието Когато argument1 не е null, то аргумент1. По същество, Coalesce е "пряк път", създаден за по-лесна употреба, и в много оптимизатори на заявки за DBMS пренаписва израза Coalesce on Case.
  • Функциите Sql Coalesce присъстват във всички водещи системи за управление на релационни бази данни.



  • Синтаксис на сливане

    Всеки, който използва Коалес по всяко време в sql-заявки, знае, че синтаксисът на този израз е изключително прост. Достатъчно в кръгаскобите посочват аргументи, проверени от Null, чрез запетая. Ако приемем, че аргументите имат имената arg1 arg2 argN, синтаксисът на Coalesce ще изглежда така: Coalesce (arg1 arg2 argN).
    Ще подготвим няколко таблици за изучаване на механизма на този израз.

    Подготовка на таблици

    За по-добро разбиране на Coalesce sql описанието, ще създадем в базата данни две таблици, съдържащи информация за обекти на недвижими имоти. Първата таблица на площта трябва да съдържа името на имота и неговата площ. Областта може да бъде зададена (area_yt) или декларирана (area_decl).

    id



    object_name



    area_yt



    area_decl
    35

    1



    Сграда 1



    1162



    50)


    2



    Обект на непълна конструкция 1






    )
    568



    3



    Помещения 1



    647

    )





    4



    Помещения 2




    95)

    342



    5



    земя 1



    112


    1116



    6



    сграда 1


    125)



    Стая 3



    ) 149







    8



    Сгради 2





    Сграда 2












    Втората таблица на основната характеристика съдържа информация за основните характеристики на имота - разширение, дълбочина, площ (Площ, обхват, височина.


    Дълбочина


    196)
    Площ



    Обхват



    височина



    1



    Сграда 21











    8924
    227)





    30



    2



    сграда 2
















    259)

    48



    3



    Сграда 1



    1647 274)


















    4



    земя 1
























    1











    236















    )







    347











    7



    Помещения 3







    )



    198









    Синтаксисът на Coalesce sql, описание , своеобразен използвайте и отидете направо към примерите.

    Примери за използване

    Синтаксисът в изразите Коалес е изключително прост, но е важно да се има предвид, че резултатът от командата ще бъде ПЪРВАТА непразна намерена стойност от списъка с аргументи. Тази забележка е много важна, така че аргументите в израза трябва да бъдат подредени по реда на тяхното значение. Най-лесният начин е да се разбере принципът на таблицата с квадрати. Направете заявкакойто избира името на имота, както и стойността на района:




    SELECT Area.id Area.object_name, coalesce (Area.area_yt, Area.area_decl) FROM Area
    )
    И получете резултата:
    id



    object_name



    Коалес



    1



    Сграда 1



    1162



    2



    Предмет на непълно строителство 1



    568



    3



    Помещения 2






    Помещения 1



    647



    342



    5



    Земя 1



    112



    6



    Сграда





    7



    Помещения 3






    372






    9



    Сграда 2





    В обектите „Сграда 1“, „Земя“ Парцел 1 "и" Сграда 2 "са запълнени с двете стойности на района, но районът се оказва приоритет, тъй като е посочен в списъка на аргументите на първия. Изразът Coalesce намери първия неотрицателен смисъл и го отблъсна, като спря по-нататъшния преглед на аргументите. Тази конструкция на заявката е вярна, тъй като посочената област е по-определена от декларираната. Ако посочим като първи аргумент декларираната област, тогава при попълването на това поле на таблицата тя ще бъде в приоритета. В допълнение към използването в Select, много често изразът Coalesce се прилага с условието Where. Тя ви позволява да отрежете резултата от тези линии, в които стойността на списъка с полета е празна(или обратното, включете в резултата само стойностите, където списъкът на полетата не е попълнен). Тази ситуация се случва навсякъде: например, в предприятието, когато регистрирате нов служител в базата данни само основната информация за него, и попълването на подробната информация, оставена "за по-късно". Постепенно се появяват „пропуски“ - или преди да се провери дали служителят напуска почивка /пътуване /отпуск по болест.
    Изберете от таблицата основните характеристики на недвижимия имот, в който не се запълва нито една от стойностите на характеристиките:

    SELECT id, object_name FROM Basic_characteristic Къде се слива (разширение, дълбочина, площ, обхват, височина) null

    Съгласно това искане в таблицата има едно съвпадение - обект "Земя 1", в който всички полета с характеристики са празни:

    id


    542) object_name



    4



    земя 1

    Надяваме се, че нашето подробно описание на Coalesce sql ви е помогнало да разберете всички особености на използването на този израз, както и да се справите с важни нюанси.

    Свързани публикации