Operátor SQL „Is Not Null“.

Operator Sql Is Not Null



V SQL můžeme použít operátor IS NOT NULL k odfiltrování výsledků z databázové tabulky, kde hodnota konkrétního sloupce není null. To může pomoci zajistit, že získáte čistá data, která neobsahují žádné chybějící hodnoty, což může způsobit problémy zejména ve funkcích, které nezpracovávají hodnoty NULL.

Hodnota NULL označuje nepřítomnost dat, která nezahrnují prázdné řetězce, číselnou nulu nebo NaN.







V tomto tutoriálu se naučíme, jak můžeme pomocí operátoru IS NOT NULL odfiltrovat výsledky, které v daném dotazu obsahují hodnoty NULL.



Syntax:

Můžeme vyjádřit základní syntaxi podmínky IS NOT NULL, jak je znázorněno v následujícím fragmentu kódu:



VYBRAT sloupec1, sloupec2, ...
FROM název_tabulky
WHERE název_sloupce NENÍ NULL;


Začneme klíčovým slovem „select“ a uvedeme sloupce, které chceme v sadě výsledků načíst, následované názvem tabulky, ze které chceme data načíst.





Dále použijeme klauzuli WHERE k zavedení filtrování dat na základě konkrétního sloupce. Nakonec určíme podmínku, podle které chceme filtrovat.

Příklad 1:

Podívejme se na několik příkladů, jak můžeme použít podmínku IS NOT NULL k odfiltrování výsledků.



Zvažte ukázkovou databázi Sakila, která je volně ke stažení na oficiální stránce MySQL.

Předpokládejme, že chceme získat jména zákazníků, jejichž „last_name“ není rovno null. K tomu můžeme použít dotaz, jak je znázorněno níže:

vybrat
*
z
zákazník c
kde
příjmení není null;


V tomto případě dotaz vrátí všechny řádky z tabulky zákazníků, kde hodnota sloupce „last_name“ není nulová.

Příklad 2: Operátory AND a OR

Podmínku IS NOT NULL můžeme kombinovat s dalšími podmínkami pomocí operátorů AND a OR. To vytváří jemnější filtrování.

Předpokládejme například, že chceme získat zákazníky, jejichž „last_name“ není null a jejichž křestní jméno je Nancy nebo Holly.

Můžeme použít dotaz, jak je ukázáno v následujícím:

VYBRAT
zákaznické identifikační číslo,
jméno,
příjmení,
e-mailem
Z
zákazník
KDE
last_name NENÍ NULL
A ( křestní_jméno = 'Nancy'
NEBO křestní_jméno = 'Cesmína' ) ;


V tomto dotazu kombinujeme podmínku IS NOT NULL s operátory AND a OR, abychom odfiltrovali záznamy, kde příjmení není null nebo se křestní jméno rovná buď Nancy nebo Holly.

Výsledný výstup je následující:


Jak můžete vidět, poskytuje to způsob, jak provádět podrobnější a drobnější filtrování cílových dat.

Příklad 3: Použití agregačních funkcí

Můžeme také použít funkci IS NOT NULL ve spojení s agregačními funkcemi SQL. Můžeme ji například použít s funkcí count() k počítání nenulových hodnot v daném sloupci.

Předpokládejme například, že chceme určit počet zákazníků s nenulovými e-mailovými adresami. Dotaz můžeme použít následovně:

VYBRAT
POČET ( zákaznické identifikační číslo ) AS celkem
Z
zákazník
KDE
email NENÍ NULL;


To by mělo vrátit počet nenulových hodnot ve sloupci jako číselnou hodnotu takto:

celkový |
-----+
599 |

Závěr

V tomto tutoriálu jsme se naučili vše o podmínce IS NOT NULL v SQL, abychom mohli odfiltrovat hodnoty null z dané sady výsledků nebo databázové tabulky. Také jsme se naučili, jak můžeme vytvořit složitější filtrování kombinací podmínky IS NOT NULL s dalšími podmínkami pomocí operátorů AND a OR.