Rad sa NULL vrednostima u SQL-u predstavlja uobičajen izazov za svakog analitičara podataka i stručnjaka za baze podataka. Razlog leži u tome što rad sa NULL vrednostima može biti komplikovan i zbunjujući, što može dovesti do frustracije tokom procesa analize podataka.
Međutim, ključno je razumeti prirodu ovih NULL vrednosti i njihov značaj kako biste stekli tačan i sveobuhvatan uvid u podatke. Ovaj tekst će istražiti SQL naredbe i njihovu primenu u brojanju NULL i NOT NULL vrednosti.
Šta je SQL NULL vrednost?
NULL vrednost označava odsustvo vrednosti; to nije ni nula, ni prazan prostor.
Zbog toga se standardni operatori poređenja, poput =, <, > i <>, ne mogu koristiti na njoj. Ako se ipak primene, rezultat će biti NEPOZNAT.
Zamislite NULL vrednost kao polje koje je ostavljeno praznim prilikom kreiranja zapisa. Možete stvoriti tabelu i dodati novu kolonu bez unosa vrednosti. Takvo polje će imati NULL vrednost. NULL vrednosti se mogu umetati u kolone bilo kog tipa podataka.
Da biste ilustrovali ovo, kreirajte novu SQL tabelu koristeći sledeću sintaksu:
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);
Takođe možete ažurirati NULL vrednosti u tabeli koristeći SQL naredbu za ažuriranje, `UPDATE`. Da biste to uradili, koristite sledeću sintaksu:
UPDATE Employee SET FirstName="Esther" WHERE Salary = 200000;
Da biste videli rezultat, pokrenite:
SELECT * FROM Employee;
Kada su SQL NULL vrednosti korisne?
NULL vrednost se može koristiti u različitim situacijama u SQL-u:
- Kada podaci nisu dostupni ili su nepoznati u trenutku unosa.
- Kada se podaci ne odnose na određeni entitet. Na primer, u anketi, pitanje koje od učesnika traži da označe polje ako imaju decu, može imati neke NULL vrednosti.
Šta je uslov SQL IS NULL?
SQL `IS NULL` naredba je jedna od ključnih SQL naredbi koju bi svaki programer trebao da zna. Ova naredba se koristi za proveru NULL vrednosti, i najefikasnija je pri traženju NULL vrednosti. Ova naredba vraća sve redove koji sadrže NULL vrednosti u koloni navedenoj u vašem upitu.
SELECT FirstName, LastName, PhoneNum FROM Employee WHERE PhoneNum IS NULL;
Ovaj upit će vratiti sve NULL vrednosti u koloni `PhoneNum`.
Šta je uslov SQL IS NOT NULL?
SQL `IS NOT NULL` naredba je suprotna naredbi SQL `IS NULL`.
Ova naredba proverava vrednosti koje nisu prazne (NOT NULL vrednosti). Dakle, ona će uvek vratiti sve redove u koloni koji imaju vrednost i isključiće sve NULL vrednosti iz kolone navedene u vašem upitu.
SELECT FirstName, LastName, PhoneNum FROM Employee WHERE PhoneNum IS NOT NULL;
Ovaj upit će vratiti sve NOT NULL vrednosti u koloni `PhoneNum`.
Kako prebrojati SQL NULL vrednosti u koloni?
Naredba `COUNT()` se koristi za brojanje. Ovo je praktična naredba pri analizi podataka u SQL tabelama i pri radu sa SQL podupitima i privremenim tabelama.
Koristite ovaj upit da biste prebrojali broj NULL vrednosti u koloni `PhoneNum`.
SELECT COUNT(*) AS [Total Number of NULL] FROM Employee WHERE PhoneNum IS NULL
Ovo će vratiti:
Kako prebrojati vrednosti koje nisu NULL u koloni?
Koristite naredbu `NOT NULL` da prebrojite broj vrednosti koje nisu NULL u koloni `PhoneNum`.
SELECT COUNT(PhoneNum) AS [Total Number of Non-NULL Values] FROM Employee WHERE PhoneNum IS NOT NULL
Ovo će vratiti:
Takođe možete koristiti ovaj upit da biste prikazali rezultate u tabeli.
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
U ovom upitu, naredbe `CASE` i `IS NULL` se koriste da klasifikuju NULL vrednosti u koloni `PhoneNum` kao 1. Ta vrednost se sabira i čuva u novoformiranoj koloni „Number Of Null Values“.
Prebrojite NULL vrednosti i nastavite sa analizom
Bez obzira na to koliko NULL vrednosti mogu delovati zastrašujuće, rad sa njima je zapravo jednostavan. Korišćenjem funkcije `COUNT()`, možete prebrojati svoje NULL i NOT NULL vrednosti sa samo nekoliko redova SQL koda.
Kada se upoznate sa SQL naredbama, možete ih primeniti u raznim situacijama i analizirati svoje podatke bez poteškoća.