SQL | Funkcje NULL

SQL | Funkcje NULL

W bazie danych wartości null służą jako elementy zastępcze dla danych, których brakuje lub są niedostępne. wartość null to elastyczny typ danych, który można umieścić w kolumnie dowolnego typu danych, w tym typu string int blob i CLOB. Nie jest składnikiem żadnego konkretnego typu danych. Wartości null są pomocne podczas czyszczenia danych przed analizą eksploracyjną.

Wartości null pomagają nam w eliminowaniu niejednoznaczności danych. Wartości null są również przydatne do utrzymywania spójnego typu danych w całej kolumnie. O konieczności i wskazówkach dotyczących używania wartości Null dowiemy się w tym artykule. Teraz użyjmy przykładów, aby lepiej zrozumieć wartości null i funkcje null SQL-a .

Kilka kluczowych punktów dotyczących użycia NULL w SQL:

    Porównanie z NULL: Porównania z wartością NULL przy użyciu zwykłych operatorów porównania, takich jak „=” „ <>'' <' '>' nie zwracaj wartości true lub false, ale raczej generuj wynik nieznany lub NULL. Zamiast tego należy użyć operatorów IS NULL lub IS NOT NULL, aby sprawdzić wartości NULL.  Obsługa wartości NULL w wyrażeniach: Podczas wykonywania operacji arytmetycznych lub innych operacji na wartościach NULL wynik zazwyczaj przyjmuje wartość NULL. Na przykład każda operacja arytmetyczna obejmująca operand NULL da wynik NULL. Agregowanie wartości NULL: Większość funkcji agregujących w SQL, takich jak SUM ŚREDNIA COUNT itp. ignorują wartości NULL podczas obliczania wyników. Istnieją jednak pewne funkcje agregujące, takie jak COUNT(*), które uwzględniają wartości NULL.  Indeksowanie i NULL: Niektóre systemy baz danych obsługują wartości NULL w różny sposób podczas indeksowania. 
  1. Ważne jest, aby zapoznać się z konkretną dokumentacją systemu zarządzania bazami danych, aby zrozumieć, w jaki sposób wartości NULL są traktowane w strukturach indeksów. Potencjalne pułapki: obecność wartości NULL może wprowadzić złożoność i potencjalne pułapki podczas wykonywania zapytań lub manipulowania danymi. Prawidłowa obsługa wartości NULL w zapytaniach SQL wymaga starannego rozważenia, aby uniknąć nieoczekiwanych lub nieprawidłowych wyników.

Dlaczego potrzebujemy wartości NULL?

Funkcje null są wymagane do wykonywania operacji na wartościach null przechowywanych w bazie danych. Z NIEWAŻNY wartości możemy wykonać operacje, które wyraźnie określą, czy wartość ma wartość null, czy nie. Dzięki tej możliwości rozpoznawania danych zerowych można na nich wykonywać operacje podobne do metod łączenia SQL.

Poniżej znajdują się funkcje NULL zdefiniowane w SQL:

ISNULL()

Funkcja ISNULL ma różne zastosowania w SQL Server i MySQL. W SQL Server funkcja ISNULL() służy do zastępowania wartości NULL. 

Składnia:

WYBIERZ kolumny ISNULL(nazwa_kolumny wartość_do_zastąpienia)

Z nazwa_tabeli;

Przykład : Rozważ poniższą tabelę Pracowników

SQL | Funkcje NULL 

Znajdź sumę wynagrodzeń wszystkich pracowników, jeśli wynagrodzenie któregokolwiek pracownika nie jest dostępne (lub wartość NULL), użyj wynagrodzenia jako 10000.

Zapytanie:

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

Wyjście

SQL | Funkcje NULL 

W MySQL funkcja ISNULL() służy do sprawdzania, czy wyrażenie ma wartość NULL, czy nie. Jeśli wyrażenie ma wartość NULL, zwraca wartość PRAWDA, w przeciwnym razie FAŁSZ. 

Składnia:

WYBIERZ kolumny

Z nazwa_tabeli

GDZIE ISNULL(nazwa_kolumny);

Przykład : Rozważ poniższą tabelę Pracowników

SQL | Funkcje NULL 

Pobierz nazwiska wszystkich pracowników, których wynagrodzenie jest dostępne w tabeli (nie NULL).

Zapytanie:

SELECT Name FROM Employee WHERE ISNULL(Salary); 

Wyjście: 

SQL | Funkcje NULL 

JEŻELI NULL()

Ta funkcja jest dostępna w MySQL, a nie w SQL Server lub Oracle. Funkcja ta przyjmuje dwa argumenty. Jeśli pierwszy argument nie ma wartości NULL, funkcja zwraca pierwszy argument. W przeciwnym razie zwracany jest drugi argument. Ta funkcja jest powszechnie używana do zastąpienia wartości NULL inną wartością. 

Składnia:

WYBIERZ kolumny IFNULL(nazwa_kolumny wartość_do_zastąpienia)

Z nazwa_tabeli;

Przykład : Rozważ poniższą tabelę Pracowników

SQL | Funkcje NULL 

 Znajdź sumę wynagrodzeń wszystkich pracowników, jeśli wynagrodzenie któregokolwiek pracownika nie jest dostępne (lub wartość NULL), użyj wynagrodzenia jako 10000.

Zapytanie;

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

Wyjście :

SQL | Funkcje NULL 

ŁĄCZYĆ()

Funkcja COALESCE w SQL zwraca pierwsze spośród swoich argumentów wyrażenie inne niż NULL. Jeśli wszystkie wyrażenia mają wartość null, funkcja COALESCE zwróci wartość null. 

Składnia :

WYBIERZ kolumny CAOLESCE(wyrażenie_1....wyrażenie_n)

Z nazwa_tabeli;

Przykład

Rozważ poniższą tabelę Contact_info 

SQL | Funkcje NULL 

Pobierz imię i nazwisko oraz numer kontaktowy każdego pracownika.

Zapytanie:

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

Wyjście

SQL | Funkcje NULL 

NULLIF()

Funkcja NULLIF przyjmuje dwa argumenty. Jeśli oba argumenty są równe, zwracane jest NULL. W przeciwnym razie zwracany jest pierwszy argument. 

Składnia:

WYBIERZ kolumny(y) NULLIF(wyrażenie1 wyrażenie2)

Z nazwa_tabeli;

Przykład : Rozważ poniższą tabelę sprzedaży SQL | Funkcje NULL

SELECT Store NULLIF(Actual Goal) FROM Sales; 

Wyjście

 

Wniosek

W tym artykule dowiedzieliśmy się, czym są wartości null i dlaczego powinniśmy ich używać. Wiemy teraz, że używanie wartości NULL ma fundamentalne znaczenie dla baz danych i ma na celu zachowanie ich integralności. Następnie dowiedzieliśmy się więcej o różnych funkcjach, których można używać z wartościami NULL. Podsumowując, wartość NULL w SQL reprezentuje brak lub nieznaną wartość dla określonego pola danych. Wymaga to szczególnej uwagi podczas pisania zapytań i wyrażeń, aby prawidłowo obsługiwać wartości NULL i uniknąć potencjalnych pułapek.

Utwórz quiz