SQL | Funkce NULL

SQL | Funkce NULL

V databázi slouží hodnoty null jako zástupné symboly pro data, která buď chybí, nebo nejsou dostupná. hodnota null je flexibilní datový typ, který lze umístit do sloupce libovolného datového typu včetně datových typů string int blob a CLOB. Není součástí žádného konkrétního datového typu. Nulové hodnoty jsou užitečné při čištění dat před průzkumnou analýzou.

Nulové hodnoty nám pomáhají vymýtit nejednoznačnost dat. Hodnoty Null jsou také užitečné pro zachování konzistentního datového typu v celém sloupci. V tomto článku se dozvíme o nutnosti a pokynech pro použití hodnot Null. Nyní se pomocí příkladů pokusíme lépe porozumět hodnotám null a funkcím null SQL .

Některé klíčové body týkající se použití NULL v SQL:

    Srovnání s NULL: Srovnání s NULL pomocí běžných operátorů porovnání jako '=' ' <>' ' <' '>' nedávají true nebo false, ale spíše vytvářejí výsledek neznámý nebo NULL. Místo toho musíte ke kontrole hodnot NULL použít operátory IS NULL nebo IS NOT NULL.  Zpracování NULL ve výrazech: Při provádění aritmetických nebo jiných operací zahrnujících hodnoty NULL se výsledek obvykle stane NULL. Například jakákoli aritmetická operace, která zahrnuje operand NULL, bude mít za následek výsledek NULL. Agregace hodnot NULL: Většina agregačních funkcí v SQL, jako je SUM AVG COUNT atd. ignorují hodnoty NULL při výpočtu výsledků. Existují však některé agregační funkce jako COUNT(*), které berou v úvahu hodnoty NULL.  Indexování a NULL: Některé databázové systémy zpracovávají hodnoty NULL odlišně, pokud jde o indexování. 
  1. Je důležité nahlédnout do konkrétní dokumentace vašeho systému správy databází, abyste pochopili, jak se s hodnotami NULL zachází v indexových strukturách. Potenciální úskalí: Přítomnost hodnot NULL může představovat složitost a potenciální úskalí při dotazování nebo manipulaci s daty. Správné zacházení s hodnotami NULL v dotazech SQL vyžaduje pečlivé zvážení, aby nedošlo k neočekávaným nebo nesprávným výsledkům.

Proč potřebujeme hodnoty NULL?

Funkce Null jsou vyžadovány k provádění operací s hodnotami Null uloženými v databázi. S NULL hodnot můžeme provádět operace, které jasně identifikují, zda je hodnota null nebo ne. Díky této schopnosti rozpoznat nulová data s nimi lze provádět operace podobné metodám spojení SQL.

Následují funkce NULL definované v SQL:

ISNULL()

Funkce ISNULL má různá použití v SQL Server a MySQL. V SQL Serveru se funkce ISNULL() používá k nahrazení hodnot NULL. 

Syntax:

SELECT sloupce ISNULL(název_sloupce hodnota_k_nahrazení)

FROM název_tabulky;

Příklad : Zvažte následující tabulku Zaměstnanci

SQL | Funkce NULL 

Najděte součet platu všech zaměstnanců, pokud plat žádného zaměstnance není k dispozici (nebo hodnota NULL), použijte plat jako 10 000.

Dotaz:

SELECT SUM(ISNULL(Salary 10000) AS Salary FROM Employee; 

Výstup

SQL | Funkce NULL 

V MySQL se funkce ISNULL() používá k testování, zda je výraz NULL nebo ne. Pokud je výraz NULL, vrátí TRUE, jinak FALSE. 

Syntax:

SELECT sloupce

FROM název_tabulky

WHERE ISNULL(název_sloupce);

Příklad : Zvažte následující tabulku Zaměstnanci

SQL | Funkce NULL 

Načtěte jména všech zaměstnanců, jejichž plat je v tabulce k dispozici (nikoli NULL).

Dotaz:

SELECT Name FROM Employee WHERE ISNULL(Salary); 

výstup: 

SQL | Funkce NULL 

IFNULL()

Tato funkce je dostupná v MySQL a ne v SQL Server nebo Oracle. Tato funkce má dva argumenty. Pokud první argument není NULL, funkce vrátí první argument. Jinak je vrácen druhý argument. Tato funkce se běžně používá k nahrazení hodnoty NULL jinou hodnotou. 

Syntax:

SELECT sloupce IFNULL(název_sloupce hodnota_k_nahrazení)

FROM název_tabulky;

Příklad : Zvažte následující tabulku Zaměstnanci

SQL | Funkce NULL 

 Najděte součet platu všech zaměstnanců, pokud plat žádného zaměstnance není k dispozici (nebo hodnota NULL), použijte plat jako 10 000.

Dotaz;

SELECT SUM(IFNULL(Salary 10000) AS Salary FROM Employee; 

Výstup :

SQL | Funkce NULL 

COALESCE()

Funkce COALESCE v SQL vrací mezi svými argumenty první výraz, který není NULL. Pokud se všechny výrazy vyhodnotí jako null, funkce COALESCE vrátí hodnotu null. 

Syntax :

SELECT sloupce CAOLESCE(výraz_1....výraz_n)

FROM název_tabulky;

Příklad

Zvažte následující tabulku Contact_info 

SQL | Funkce NULL 

Získejte jméno a kontaktní číslo každého zaměstnance.

Dotaz:

SELECT Name COALESCE(Phone1 Phone2) AS Contact FROM Contact_info; 

Výstup

SQL | Funkce NULL 

NULLIF()

Funkce NULLIF má dva argumenty. Pokud jsou tyto dva argumenty stejné, vrátí se NULL. Jinak je vrácen první argument. 

Syntax:

SELECT sloupec(y) NULLIF(výraz1 výraz2)

FROM název_tabulky;

Příklad : Zvažte následující tabulku prodeje SQL | Funkce NULL

SELECT Store NULLIF(Actual Goal) FROM Sales; 

Výstup

 

Závěr

V tomto článku jsme se dozvěděli, co jsou hodnoty null a proč bychom je měli používat. Nyní víme, že používání hodnot NULL je pro databáze zásadní a dělá se tak, aby byla zachována jejich integrita. Poté jsme se dozvěděli více o různých funkcích, které lze použít s hodnotami NULL. Na závěr, hodnota NULL v SQL představuje nepřítomnost nebo neznámou hodnotu pro konkrétní datové pole. Při psaní dotazů a výrazů vyžaduje zvláštní pozornost, aby bylo možné správně zpracovat hodnoty NULL a vyhnout se potenciálním nástrahám.

Vytvořit kvíz