Kod

NULL, zero i undefined w SQL: czym są, do czego służą i czym się różnią

NULL, zero i undefined w SQL: czym są, do czego służą i czym się różnią / Skillbox Media

Kurs z zatrudnieniem: „Zawód Analityk Danych”

Dowiedz się więcej

Zero, pustka i niezdefiniowane – w życiu codziennym te słowa mogą być uważane za synonimy, ale w programowaniu mają różne znaczenia. Są to trzy różne wartości: 0, NULL i niezdefiniowane. Zero to po prostu zero, pustka to NULL, a niezdefiniowane to niezdefiniowane. W tym artykule użyjemy SQL jako przykładu, aby zrozumieć różnicę między zerem a NULL. Ale aby zrozumieć niezdefiniowane, będziemy potrzebować JavaScriptu. Zdezorientowany? Przyjrzyjmy się teraz wszystkiemu po kolei.

Spis treści

  • Zalecenia dla lepszego zrozumienia tematu
  • Poznaj podstawy języka SQL
  • Zarejestruj się na platformie Oracle Live SQL
  • Co to jest zero w języku SQL
  • Co to jest wartość niezdefiniowana i dlaczego nie istnieje w języku SQL
  • Co to jest NULL i jak z nią pracować
  • Czego uczyć się dalej

Zalecenia dla lepszego zrozumienia tematu

To jest sekcja przygotowawcza, podzielona na dwie części. Pierwsza część zawiera teorię baz danych i języka SQL, a druga link do platformy w celu ćwiczenia. Jeśli jesteś początkującym, zalecamy najpierw przestudiowanie proponowanych materiałów, a następnie poszukanie różnic między wartościami zero, NULL i undefined. W przeciwnym razie przykłady kodu w tym artykule mogą być dla Ciebie niezrozumiałe.

SQL, czyli Structured Query Language, to język do pracy z relacyjnymi bazami danych. Bazy te są reprezentowane przez połączone tabele, w których informacje są uporządkowane w kolumnach i wierszach. Mogą one przechowywać raporty, transakcje bankowe, dane kontaktowe klientów, faktury i inne informacje.

Jeśli nie słyszałeś o bazach danych i SQL, oto kilka artykułów wprowadzających:

  • „Baza danych: Czym jest i dlaczego jest potrzebna”
  • „Czym jest SQL: Jak działa, dlaczego jest potrzebny i jak z nim pracować”
  • „Zapytania SQL: Podstawowe polecenia do zarządzania bazami danych”

Aby utrwalić to, co przeczytałeś, obejrzyj webinarium na temat podstaw języka SQL. Prelegentem jest Mkrtich Pudeyan, specjalista ds. analizy danych w Gazprombanku.

Oracle Live SQL to bezpłatna platforma internetowa, na której możesz nauczyć się pisać zapytania i pracować z bazami danych. Wystarczy wejść na stronę oracle.com, zarejestrować się i zweryfikować swój adres e-mail.

Po rejestracji zostaniesz przeniesiony do obszaru roboczego i będziesz mógł od razu przetestować połączenie. Aby to zrobić, wprowadź dowolne polecenie SQL i upewnij się, że wybrana tabela jest po nim wyświetlana. Przykład jednego z poleceń:

Tabela fikcyjnych pracowników. Jeśli tabela nie pojawi się po wpisaniu polecenia, upewnij się, że kliknąłeś zielony przycisk „Uruchom” w górnym rogu obszaru roboczego. Zrzut ekranu: Oracle Corporation

Czym jest zero w SQL?

Wyobraź sobie miskę moreli. Jeśli je zjesz, miska będzie pusta i nie zostanie w niej ani jednego morela. Zero jest tutaj liczbowym odpowiednikiem braku czegoś i jest używane w operacjach arytmetycznych i logicznych.

W operacjach arytmetycznych zero można odejmować i dodawać do innych liczb — wartość tych liczb się nie zmieni. Możesz również pomnożyć lub podzielić dowolną liczbę przez zero, ale wynik będzie równy zero:

Przykłady operacji arytmetycznych z zerem w SQL Zrzut ekranu: Oracle Corporation

W operacjach logicznych zero oznacza fałsz. Każda inna liczba oznacza prawdę.

Utwórzmy tabelę z danymi o pracownikach firmy:

Dodaj do tabeli informacje o obecnych i zwolnionych pracownikach:

Teraz, używając zera i jedynki, wykonamy kilka zapytań SQL do naszej tabeli. Na początek wybierzmy wszystkich obecnych pracowników:

Tabela z listą obecnych pracowników: Katya i Zhenya pracują w firmie. Zrzut ekranu: Oracle Corporation

Spójrzmy na listę zwolnionych pracowników:

Tabela z listą obecnych pracowników: Tanya i Sasha zostali zwolnieni z firmy? Zrzut ekranu: Oracle Corporation

Zamknijmy naszą firmę i zaktualizujmy bazę danych Statusy pracowników:

Jeśli teraz sprawdzisz wynik, to w firmie nikt nie pracuje:

Tabela z listą aktualnych pracowników: w firmie nie ma już nikogo ???Zrzut ekranu: Oracle Corporation

Co to jest undefined i dlaczego nie występuje w SQL?

W JavaScript undefined odnosi się do specjalnego typu danych, który wskazuje, że wartość jest niezdefiniowana. Nie trzeba jawnie określać undefined, ponieważ interpreter zawsze wskazuje to automatycznie.

Wartość undefined łatwiej zrozumieć na przykładzie. Przejdź do ustawień przeglądarki, otwórz kartę „Narzędzia dodatkowe” i znajdź sekcję „Narzędzia programistyczne”. Musisz otworzyć kartę Konsola.

Przeczytaj także:

Czym jest JavaScript i dlaczego jest potrzebny?

Zadeklaruj zmienną w konsoli, zapisz jej nazwę i wyświetl wynik:

Zgodnie z oczekiwaniami otrzymujemy wartość zapisaną w zmiennej:

Zrzut ekranu: Chrome DevTools / Skillbox Media

Zadeklarujmy kolejną zmienną, ale na razie nie będziemy do niej dodawać żadnej wartości. Jeśli wydrukujemy taką zmienną w konsoli, wynik będzie niezdefiniowany. Interpreter automatycznie określił tę wartość:

Zrzut ekranu: Chrome DevTools / Skillbox Media

Jeśli wypełnimy nasza pusta zmienna z wartością i Jeśli wyświetlimy wynik w konsoli, to undefined nie będzie już wyświetlane:

Zrzut ekranu: Chrome DevTools / Skillbox Media

Przeczytaj także:

Jaka jest różnica między var, let i const w JavaScript?

W SQL zamiast undefined używa się NULL — oznacza to wartości brakujące i niezdefiniowane. Zapewnia to standard SQL-92 i inne standardy, które zapewniają kompatybilność między różnymi systemami zarządzania bazami danych (DBMS). Unikanie wartości niezdefiniowanych zwiększa spójność pracy z bazami danych i pomaga uniknąć wielu błędów.

Co to jest NULL i jak z nim pracować

NULL jest używany w SQL do oznaczania brakujących danych. Utwórzmy tabelę z nazwiskami pracowników, numerami telefonów i numerami faksów. Każdy pracownik będzie miał kolumny z nazwiskiem i numerem telefonu, ale podanie numeru faksu jest opcjonalne:

Jeśli przyjrzymy się tabeli, zauważymy, że dwóch pracowników będzie miało myślniki w kolumnie „Faks”. Te myślniki oznaczają NULL — wartość brakującą. Jeśli używasz innej platformy niż Oracle Live SQL, możesz zobaczyć inny sposób wyświetlania wartości NULL: niektóre programy użyją również myślników, inne dodadzą słowo NULL, a jeszcze inne pozostawią puste komórki.

Tabela z danymi kontaktowymi pracowników firmy. Nie każdy ma faks Zrzut ekranu: Oracle Corporation

Przyjrzyjmy się tabeli i najpierw wyświetlmy wszystkich pracowników z faksem:

Tabela z danymi o pracownikach, którzy mają faks (Zrzut ekranu: Oracle Corporation)

Teraz przyjrzyjmy się osobno liście pracowników bez faksu:

Tabela z danymi kontaktowymi pracowników, którzy nie mają faksu. Zrzut ekranu: Oracle Corporation.

Załóżmy, że nie podoba nam się to, że nie każdy ma faks. Zakupimy brakujący sprzęt na własny koszt i dla wygody przypiszemy każdemu pracownikowi unikalny numer faksu na podstawie jego identyfikatora z tabeli:

Jeśli teraz sprawdzisz aktualizacje, NULL nie będzie już występować:

Tabela z kontaktami pracowników, gdzie każdy ma numer telefonu i faks. Zrzut ekranu: Oracle Corporation

Czego się nauczyć dalej

Zapoznałeś się już z wartością NULL i wiesz, czym różni się ona od zera. Jednak w tym artykule skupiliśmy się na prostych przykładach i nie zagłębialiśmy się w szczegóły składni SQL. Jeśli chcesz to zrozumieć, zalecamy skorzystanie z dwóch bezpłatnych interaktywnych przewodników na platformie Oracle Live SQL.

Wykonywanie zapytań do wierszy z wartościami NULL: Bazy danych dla programistów. Ten przewodnik służy do nauki wartości NULL. Ponownie zapoznasz się z tą wartością na przykładach, nauczysz się ją poprawnie definiować, porównywać i używać w funkcjach.

Fragment interaktywnego przewodnika po pracy z wartością NULLZrzut ekranu: Oracle Korporacja

Kolumny i typy danych: bazy danych dla programistów. W tym przewodniku dowiesz się o strukturze tabeli i popularnych typach danych: liczbach, ciągach znaków, wartościach logicznych i binarnych, datach i godzinach.

Fragment interaktywnego przewodnika po pracy z różnymi typami danych w SQL Zrzut ekranu: Oracle Korporacja

Więcej interesujących rzeczy na temat kodu znajdziesz na naszym kanale Telegram. Subskrybuj!

Przeczytaj także:

  • SQL i NoSQL: Yin i Yang w świecie baz danych
  • System zarządzania bazą danych: Czym jest i dlaczego jest potrzebny?
  • Poznaj Redis