Coalesce sql: opis, cechy użycia, przykłady

Podczas kompilowania zapytań sql często pojawia się sytuacja, gdy podczas próbkowania danych konieczne jest porównanie wartości kilku kolumn i wyprowadzenie z nich danych, które zawierają dane (nie są puste). Ten problem jest doskonale rozwiązany przez wyrażenie Coalesce. W tym artykule znajdziesz pełny opis wyrażenia Coalesce sql, opis funkcji użycia i przykłady.

Wyprowadzanie niepustych wartości za pomocą Coalesce. Funkcje

Rozważmy cechy szczególne Sql Coalesce:
  • Pozwala określić dowolną liczbę argumentów (w przeciwieństwie do Isnull /Nvl /Nvl2, liczba argumentów, w których jest ograniczona).
  • Może być traktowany jako podrzędny argument.
  • Zwraca wynik równy pierwszemu, różny od wartości Null, Null, jeśli nie znaleziono wartości innej niż Null.
  • Sql Coalesce może być użyty w instrukcji Select, aby wybrać niepustą wartość, oraz w Gdzie określić, że zestaw kolumn z pustymi wartościami jest niedozwolony (/dozwolony).
  • To wyrażenie jest równoznaczne z użyciem wyrażenia Sprawa, która sukcesywnie weryfikuje każdy argument warunku. Gdy argument argument1 nie jest pusty, to argument1. W istocie Coalesce jest "skrótem" stworzonym dla łatwości użycia, a w wielu wyszukiwarkach zapytań DBMS przepisuje wyrażenie Coalesce on Case.
  • Funkcje Sql Coalesce są obecne we wszystkich wiodących systemach zarządzania relacyjnymi bazami danych.



  • Składnia koalescencji

    Każdy, kto używał Coalesce w dowolnym czasie podczas zapytań sql, wie, że składnia tego wyrażenia jest niezwykle prosta. Wystarczająco w rundzienawiasy określają argumenty, sprawdzane przez Null, przecinkiem. Zakładając, że argumenty mają nazwy arg1 arg2 argN, składnia Coalesce będzie wyglądać następująco: Coalesce (arg1 arg2 argN).
    Przygotujemy kilka tablic do zbadania mechanizmu tego wyrażenia.

    Przygotowanie tabel

    Aby lepiej zrozumieć opis SQL Coalesce, utworzymy w bazie danych dwie tabele zawierające informacje na temat nieruchomości. Pierwsza tabela Area Area powinna zawierać nazwę właściwości i jej obszar. Obszar może być określony (area_yt) lub zadeklarowany (area_decl).

    id



    nazwa_obiektu



    area_yt



    area_decl
    (35

    1



    Budynek 1



    1162



    114 50)


    2



    Przedmiot niepełnej budowy 1





    (64 )
    568



    3



    Przesłanki 1



    647
    (79 )





    4



    Przesłanki 2




    95)

    342



    5



    Działka 1



    112


    1116



    6



    Budynek 1







    Pokój 3


    (141 ) 149







    8



    Budynki 2





    Budynek 2












    Druga tabela Basic_characteristic let zawiera informacje o głównych cechach nieruchomości - Extension, Depth, Area (Obszar, zakres, wysokość.


    Głębokość


    196)
    w obszarze



    Zakres



    , wysokość



    1
    (211 )

    obiektu 1











    8924







    30



    2



    , budynek 2 (242 )


















    48



    3



    Budownictwo 1



    1647



















    4



    Ziemia 1























    5



    Umieszczenie 1











    236











    6



    Umieszczenie 2


    (357 )







    347











    , 7



    Umieszczenie 3






    (389 )



    198









    uważane składni koalescencji SQL, opis , osobliwe użyj i przejdź od razu do przykładów.

    Przykłady użycia

    Wyrażenia składniowe zlewają bardzo proste, ale ważne jest, aby pamiętać, że wynik komendy będzie pierwszy niepusty wartość znaleziono w liście argumentów. Ta uwaga jest bardzo ważna, więc argumenty w wyrażeniu muszą być ułożone w kolejności ich ważności. Najprostszym sposobem jest zrozumienie zasady tabeli kwadratów. Złóż wniosekktóry wybiera nazwę właściwości i znaczenie obszaru:




    SELECT Area.id Area.object_name, zlewają (Area.area_yt, Area.area_decl) z obszaru (410 )
    i uzyskać wynik:

    wartość id



    object_name



    zlewają się



    1



    , budynek 1



    1162



    2



    , jeden obiekt budowie



    568



    3



    pomieszczenie 1



    647


    ,
    4



    Umieszczenie 2

    (468 )
    342



    5



    Ziemia 1



    112



    6



    konstrukcja 1







    , 7



    Umieszczenie 3



    279



    8



    Budowa 2



    372



    , 9



    2 budynku





    na obiektach "budynek 1", „Ziemi sekcja 1 „i” Budowa 2 „zostały wypełnione obu wymienionych obszarów, ale obszar priorytetowy została dopracowana jak wskazał w pierwszym liście argumentów. Wyrażenie Coalesce znalazło pierwsze nieujemne znaczenie i wypędziło je, zatrzymując dalszą analizę argumentów. Ta konstrukcja żądania jest prawdziwa, ponieważ określony obszar jest bardziej określony niż zadeklarowany. Jeśli wskazaliśmy jako pierwszy argument zadeklarowany obszar, to przy wypełnianiu tego pola tabeli będzie to priorytet. Oprócz użycia w Select bardzo często wyrażenie Coalesce jest stosowane z warunkiem Where. Pozwala ci odciąć wynik tych linii, w których wartość listy pól jest pusta(lub odwrotnie, uwzględnij w wyniku tylko te wartości, w których lista pól nie jest wypełniona). Taka sytuacja ma miejsce wszędzie: na przykład w przedsiębiorstwie, gdy rejestruje się nowego pracownika w bazie danych, znajdują się jedynie podstawowe informacje o nim, a także szczegółowe informacje pozostawione "na później". Stopniowo pojawiają się "luki" - przed sprawdzeniem, czy pracownik opuszcza urlop /podróż /zwolnienie lekarskie.
    Należy wybrać z tabeli z głównych cech charakterystycznych właściwości, które nie ukończyły żadnej jedną z wartości:

    SELECT id, object_name OD Basic_characteristic Gdzie COALESCE (Extension, Głębokość, Obszar, zakres, wysokość) jest puste
    ,
    Zgodnie z wynikami w tabeli jest to przypadek - obiekt "wykres 1", która zawiera wszystkie te obszary puste

    wartość identyfikatora



    object_name


    ,
    4



    Ziemia 1

    Mamy nadzieję, że nasz szczegółowy opis SQL Coalesce pomógł wam zrozumieć wszystkie osobliwości używania tego wyrażenia, a także radzić sobie z ważnymi niuansami.

    Powiązane publikacje