27.03.2007 | Téma: Počtem mohou zamíchat NULL hodnoty | Rubrika: Databáze | Odkaz: http://rubriky.cz/poctem_mohou_zamichat_null_hodnoty.php
Převzato z
Databázového světa
Obecně platí, že hodnoty NULL představují tzv. nezadanou, neznámou hodnotu. Je důležité uvědomit si, že 0 v číselném atributu není totéž co NULL. Nula je známá hodnota, NULL nikoli. Naneštěstí platí pro NULL hodnoty zvláštní pravidla nejen v logických operacích, ale také v případě celé řady dalších funkcí – agregační funkci COUNT(*) nevyjímaje.
O co jde? Pokud použijete následující dotaz:
SELECT count(*) FROM tabulka;
získáte na drtivé většině platforem jako výsledek skutečný počet záznamů v tabulce tabulka. Pokud ale upravíte tento dotaz do tvaru:
SELECT count(atribut1) FROM tabulka;
může být výsledkem stejné číslo jako v prvním případě, ale také nemusí. Do celkového počtu se totiž na mnoha platformách použijí pouze ty záznamy, které mají pro sledovaný atribut zadanou hodnotu – tedy neobsahují hodnoty NULL (tento stav není chybou, ale správným chováním).
Možná vás napadne, proč při hvězdičkovém zápisu odpovídá celkový výsledek očekávání. Je to dáno tím, že v takovém případě jen málokdy nastává situace, že všechny atributy zpracovávaných záznamů obsahují hodnotu NULL. Další důvod je ten, že mnohé databázové platformy přidávají v takových případech k záznamům další pseudoatribut (vnitřní atribut) jednoznačně identifikující zpracovávaný (uložený) záznam.
Rady a názory k tématu : Počtem mohou zamíchat NULL hodnoty
. Vyjádřete svůj názor nebo poznatek.