Ostatnia aktualizacja: 1 października 2024
Czas czytania: 4 min
Spis treści

Co to jest NULL?

W SQL, NULL reprezentuje brak wartości. To nie jest to samo co pusty ciąg znaków („”), zero (0) lub jakikolwiek inny konkretny typ danych. NULL jest specjalnym stanem, który wskazuje, że wartość jest nieznana lub nie została jeszcze przypisana. W BigQuery, podobnie jak w innych systemach baz danych, NULL ma swoje specyficzne cechy i zachowanie.

Zastosowanie NULL

NULL jest używany w BigQuery w wielu scenariuszach, w tym:

  • Reprezentacja braku danych: NULL jest używany do oznaczenia brakujących wartości w kolumnach tabel. Na przykład, jeśli w tabeli klientów nie podano adresu e-mail, możemy umieścić NULL w tej kolumnie.
  • Operacje na danych: NULL może być używany w różnych operacjach na danych, takich jak agregacja, sortowanie i łączenie tabel. Na przykład, funkcja COUNT(*) zlicza wszystkie wiersze w tabeli, w tym te z wartościami NULL, podczas gdy funkcja COUNT(column) zlicza tylko wiersze z nie-NULL wartościami w danej kolumnie.
  • Przetwarzanie zapytań: NULL jest używany w warunkach WHERE i JOIN, aby filtrować dane lub łączyć tabele w oparciu o obecność lub brak wartości.

Przykład użycia w BigQuery

Załóżmy, że mamy tabelę „Produkty” z następującymi kolumnami:

CREATE TABLE Produkty (
  ProduktID INT64,
  Nazwa VARCHAR,
  Cena FLOAT64,
  Dostępność BOOLEAN,
  Opis VARCHAR
);

W tej tabeli, kolumna „Opis” może zawierać wartości NULL, jeśli produkt nie ma opisu.

Poniższy kod SQL pokazuje, jak użyć funkcji IFNULL() do zastąpienia wartości NULL w kolumnie „Opis” wartością „Brak opisu”:

SELECT
  ProduktID,
  Nazwa,
  Cena,
  Dostępność,
  IFNULL(Opis, 'Brak opisu') AS Opis
FROM
  `projekt.dataset.Produkty`;

Najczęstsze błędy i sposoby ich unikania

Najczęstsze błędy związane z NULL w BigQuery to:

  • Niepoprawne porównania: NULL nie jest równy żadnej wartości, w tym samemu sobie. Aby sprawdzić, czy wartość jest NULL, należy użyć operatora IS NULL. Na przykład, zamiast „WHERE kolumna = NULL”, należy użyć „WHERE kolumna IS NULL”.
  • Niepoprawne użycie funkcji agregujących: Funkcje agregujące, takie jak SUM(), AVG(), MAX(), MIN() i COUNT(), ignorują wartości NULL. Aby uwzględnić wartości NULL w obliczeniach, należy użyć funkcji IFNULL() lub COALESCE() do zastąpienia ich wartościami domyślnymi.
  • Niepoprawne łączenie tabel: NULL nie jest dopasowywany w operacjach łączenia tabel. Aby połączyć tabele, w których mogą występować wartości NULL, należy użyć odpowiednich warunków łączenia i funkcji, takich jak LEFT JOIN lub RIGHT JOIN.

Optymalizacje i najlepsze praktyki

Aby zoptymalizować zapytania z użyciem NULL w BigQuery, należy:

  • Używać funkcji IS NULL i IS NOT NULL: Zamiast porównywać wartości do NULL, użyj operatorów IS NULL i IS NOT NULL, aby sprawdzić, czy wartość jest NULL.
  • Używać funkcji IFNULL(), COALESCE() i NVL(): Zastąp wartości NULL wartościami domyślnymi za pomocą funkcji IFNULL(), COALESCE() lub NVL() przed użyciem funkcji agregujących lub operacji obliczeniowych.
  • Unikać niepotrzebnych operacji na danych: Jeśli nie potrzebujesz wartości NULL, unikaj ich przetwarzania. Na przykład, jeśli potrzebujesz tylko nie-NULL wartości w kolumnie, użyj funkcji WHERE kolumna IS NOT NULL.

Porównanie z innymi dialektami SQL

NULL jest obsługiwany w większości dialektów SQL, w tym MySQL, PostgreSQL i Oracle. Podstawowe funkcje i operacje związane z NULL są podobne, ale mogą istnieć drobne różnice w składni lub zachowaniu. Na przykład, w niektórych dialektach SQL funkcja IFNULL() jest nazywana NVL(), a w innych może być dostępna dodatkowa funkcja COALESCE().

Udostępnij wpis
Newsletter

Zapisz się do Newslettera

Zapisując się, wyrażasz zgodę na przetwarzanie Twoich danych do celów marketingowych, zgodnie z naszą polityką prywatności.

Optymalizacja kosztów BigQuery

Poradnik

10 sposobów na optymalizację kosztów BigQuery
Looker Studio Dashoard

Poradnik

Looker Studio dla Początkujących – Co to jest Looker Studio i jak z niego korzystać?
Grafika prezentująca BigQuery

Tutorial

BigQuery dla początkujących. Jakie są sposoby przechowywania danych w BigQuery?
Google Search Console Dashboard

Dashboard analityczny

Dashboard analityczny SEO – Looker Studio
Grafika pokazująca 5 dobrych praktyk podczas tworzenia narzędzia Business Intelligence

Poradnik

Najlepsze praktyki tworzenia dashboardów analitycznych i biznesowych
Grafika pokazująca odwrócony proces ETL

Poradnik

Replikacja danych do BigQuery  – Jedyny przewodnik po procesach ETL i ELT w GCP jakiego potrzebujesz
Ikona plików cookies

Ustawienia plików cookies

Używamy plików cookies, aby zapewnić Ci najlepsze wrażenia z korzystania z naszej strony. Możesz wybrać, które pliki cookies chcesz zaakceptować.
Ikona plików cookies

Informacje o plikach cookies

Szanujemy Twoją prywatność

Używamy plików cookies lub podobnych technologii w celu zapewnienia Ci dostępu do serwisu, usprawniania jego działania, profilowania i wyświetlania treści dopasowanych do Twoich potrzeb. W każdej chwili możesz zmienić ustawienia plików cookies lub podobnych technologii poprzez zmianę ustawień prywatności w przeglądarce bądź aplikacji lub zmianę swoich preferencji w zakładce Ustawienia cookies w stopce strony. Pamiętaj, że zmiana ta może spowodować brak dostępu do niektórych funkcji serwisu.
Dane osobowe dotyczące korzystania z serwisu, w tym zapisywane i odczytywane z plików cookies lub podobnych technologii będą przetwarzane w celu zapewnienia dostępu do serwisu, w celach marketingowych, w tym profilowania, w celach wewnętrznych związanych ze świadczeniem usług oraz prowadzeniem działalności gospodarczej, w tym dowodowych, analitycznych i statystycznych, wykrywania i eliminowania nadużyć oraz w celu wykonywania obowiązków wynikających z przepisów prawa.
Przysługuje Ci prawo do dostępu do danych, ich usunięcia, ograniczenia przetwarzania, przenoszenia, sprzeciwu, sprostowania oraz cofnięcia zgód w każdym czasie. Szczegółowe informacje dotyczące przetwarzania danych oraz przysługujących Ci uprawnień, informacje dotyczące plików cookies lub podobnych technologii, w tym dotyczące możliwości zarządzania ustawieniami prywatności, znajdują się w Polityce Prywatności.