Jak počítat hodnoty SQL NULL a NOT NULL ve sloupci

Práce s hodnotami NULL v SQL je běžnou výzvou, které čelí každý datový analytik a databázový profesionál. Je to zejména proto, že práce s NULL může být ohromující a matoucí, což vede k frustraci během analýzy dat.

Je však důležité porozumět tomu, co tyto hodnoty NULL jsou a co pro vás znamenají, abyste měli přesné a komplexní informace o datech. Tento článek prozkoumá příkazy SQL a jak je používat k počítání hodnot NULL a NOT NULL.

Co je hodnota SQL NULL?

Hodnota NULL znamená žádnou hodnotu, ani nulu nebo mezeru.

Nelze na něm tedy použít vaše tradiční porovnávací operátory jako =, <, > a <>. Při použití však bude výsledek NEZNÁMÝ.

Hodnotu NULL si představte jako prázdné pole při vytváření záznamu. Můžete vytvořit tabulku a vložit nový sloupec bez přidání hodnoty. Toto pole tedy bude mít hodnotu NULL. Hodnoty NULL lze také vkládat do sloupců libovolného datového typu.

  Jak opravit chybu WOW # 134 Fatal Condition

Chcete-li to demonstrovat, měli byste vytvořit novou tabulku SQL pomocí níže uvedené syntaxe:

 CREATE TABLE Employee (

 FirstName VARCHAR(50),

 LastName VARCHAR(50),

 PhoneNum VARCHAR(15),

 Salary FLOAT

);

INSERT INTO Employee (FirstName, LastName, PhoneNum, Salary)

VALUES

 ('Maxwell', 'Ayomide', '812-345-6789', 150000.00),

 ('David', 'Tosin', NULL, 450000.00),

 ('Eben', 'Teniola', '912-345-6789', 590000.00),

 ('Kenneth', 'Olisa', '809-456-8732', NULL),

 ('Esther', 'Oge', NULL, NULL);

Hodnoty NULL v tabulce můžete také aktualizovat pomocí příkazu SQL pro začátečníky, příkazu UPDATE. K tomu použijte níže uvedenou syntaxi.

 UPDATE Employee
SET FirstName="Esther"
WHERE Salary = 200000;

Chcete-li zobrazit výsledek, spusťte:

 SELECT * FROM Employee;

Kdy jsou užitečné hodnoty SQL NULL?

Hodnotu NULL lze v SQL použít v různých situacích:

  • Když jsou data v době zadávání dat nedostupná nebo neznámá.
  • Když se údaje nevztahují na danou entitu. Například v průzkumu může mít otázka žádající účastníky, aby zaškrtli políčko, pokud mají děti, nějaké hodnoty NULL.
  Jak nainstalovat OptiFine pro použití shaderů v Minecraftu

Co je podmínka SQL IS NULL?

Příkaz SQL IS NULL je jedním z důležitých příkazů SQL, které by měl znát každý programátor. Tento příkaz se používá k testování hodnot NULL a nejlépe se používá při hledání hodnot NULL. Tento příkaz vrátí všechny řádky NULL ve sloupci zadaném ve vašem dotazu.

 SELECT FirstName, LastName, PhoneNum

FROM Employee

WHERE PhoneNum IS NULL;

Tento dotaz vrátí všechny hodnoty NULL ve sloupci PhoneNum.

Co je podmínka SQL IS NOT NULL?

Příkaz SQL IS NOT NULL je opakem příkazu SQL IS NULL.

Tento příkaz testuje neprázdné hodnoty (NOT NULL hodnoty). Vždy tedy vrátí všechny řádky ve sloupci s hodnotou a vyloučí všechny hodnoty NULL ve sloupci uvedeném ve vašem dotazu.

 SELECT FirstName, LastName, PhoneNum

FROM Employee

WHERE PhoneNum IS NOT NULL;

Tento dotaz vrátí všechny hodnoty NOT NULL ve sloupci PhoneNum.

Jak počítat hodnoty SQL NULL ve sloupci?

K počítání se používá příkaz COUNT(). Je to příkaz, který se hodí při analýze dat ve vašich tabulkách SQL a práci s poddotazy SQL a dočasnými tabulkami.

  10 nejlepších digitálních fotorámečků k předvedení vašich fotografií

Pomocí tohoto dotazu spočítáte počet hodnot NULL ve sloupci PhoneNum.

 SELECT COUNT(*) AS [Total Number of NULL] 

FROM Employee

WHERE PhoneNum IS NULL

Toto se vrátí:

Jak počítat hodnoty NOT NULL ve sloupci?

Pomocí příkazu NOT NULL spočítejte počet jiných hodnot než NULL ve sloupci PhoneNum.

 SELECT COUNT(PhoneNum) AS [Total Number of Non-NULL Values] 

FROM Employee

WHERE PhoneNum IS NOT NULL

Toto se vrátí:

Tento dotaz můžete také použít k umístění výsledku do tabulky.

 SELECT SUM(CASE WHEN PhoneNum is null THEN 1 ELSE 0 END) 

AS [Number Of Null Values],

COUNT(PhoneNum) AS [Number Of Non-Null Values]

FROM Employee

V tomto dotazu byly příkazy CASE a IS NULL použity ke klasifikaci vaší hodnoty NULL ve sloupci PhoneNum jako 1. Tato hodnota byla přidána a zachována v nově vytvořených sloupcích Number Of Null Values.

Počítejte hodnoty NULL a pokračujte v analýze

Tak ohromující, jak může být hodnota NULL. Ve skutečnosti se s nimi snadno pracuje. Pomocí COUNT() můžete spočítat své hodnoty NULL a non-NULL pomocí několika řádků kódu SQL.

Jakmile znáte své příkazy SQL, můžete je použít v různých případech použití a bez námahy analyzovat svá data.