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

Co to jest NOT?

NOT to operator logiczny stosowany w języku SQL, który neguje wartość logiczną wyrażenia. W BigQuery, podobnie jak w innych systemach bazodanowych, NOT jest używany do odwrócenia wyniku wyrażenia logicznego. Jeśli wyrażenie zwraca TRUE, NOT spowoduje, że zwraca FALSE, i odwrotnie.

Zastosowanie NOT

Operator NOT ma wiele zastosowań w BigQuery, w tym:

  • Filtrowanie danych: NOT może być używany do filtrowania wierszy, które nie spełniają określonego warunku. Na przykład, aby wybrać wszystkie wiersze, w których kolumna „wiek” jest różna od 25, można użyć wyrażenia WHERE NOT wiek = 25.
  • Sprawdzanie warunków: NOT może być używany do sprawdzania, czy określony warunek nie jest spełniony. Na przykład, aby sprawdzić, czy wartość w kolumnie „status” nie jest równa „aktywny”, można użyć wyrażenia IF NOT status = „aktywny”.
  • Operacje logiczne: NOT może być używany w połączeniu z innymi operatorami logicznymi, takimi jak AND i OR, aby tworzyć bardziej złożone warunki.

Przykład użycia w BigQuery

Załóżmy, że mamy tabelę o nazwie „klienci” z następującymi danymi:

ID Imię Wiek Miasto
1 Jan 30 Warszawa
2 Anna 25 Kraków
3 Piotr 20 Gdańsk
4 Maria 35 Wrocław

Aby wybrać wszystkich klientów, którzy nie mieszkają w Warszawie, można użyć następującego zapytania SQL:


SELECT *
FROM klienci
WHERE NOT Miasto = "Warszawa";

Najczęstsze błędy i sposoby ich unikania

Najczęstszym błędem popełnianym przy użyciu NOT jest nieprawidłowe użycie operatorów logicznych. Na przykład, użycie NOT w połączeniu z IN może prowadzić do nieoczekiwanych rezultatów. Aby uniknąć tego błędu, zaleca się stosowanie NOT EXISTS zamiast NOT IN.

Innym częstym błędem jest użycie NOT w połączeniu z funkcjami agregacji. Funkcje agregacji, takie jak COUNT, SUM, AVG, ignorują wartości NULL. Jeśli użyjesz NOT z funkcją agregacji, wynik może być nieoczekiwany. Aby uniknąć tego błędu, zaleca się użycie funkcji IS NOT NULL zamiast NOT.

Optymalizacje i najlepsze praktyki

Aby zoptymalizować zapytania z użyciem NOT w BigQuery, zaleca się:

  • Używanie indeksów: Indeksy mogą znacznie przyspieszyć wykonywanie zapytań z użyciem NOT. Indeksy pozwalają BigQuery na szybkie odnalezienie wierszy, które spełniają określony warunek.
  • Stosowanie NOT EXISTS zamiast NOT IN: NOT EXISTS jest bardziej wydajny niż NOT IN, zwłaszcza gdy dane są duże. NOT EXISTS działa poprzez sprawdzanie, czy istnieje wiersz spełniający określony warunek, podczas gdy NOT IN sprawdza wszystkie wiersze.
  • Minimalizowanie użycia NOT: Jeśli to możliwe, staraj się unikać użycia NOT. W niektórych przypadkach można przeformułować zapytanie tak, aby uniknąć użycia NOT. Na przykład, zamiast używać WHERE NOT wiek = 25, można użyć WHERE wiek != 25.

Porównanie z innymi dialektami SQL

Operator NOT jest dostępny w większości dialektów SQL, w tym MySQL, PostgreSQL i Oracle. Sposób użycia NOT jest w zasadzie taki sam w wszystkich dialektach SQL, ale mogą istnieć pewne niewielkie różnice w sposobie obsługi wartości NULL.

Na przykład, w MySQL i PostgreSQL, NOT IN zwraca NULL, jeśli w liście wartości znajduje się NULL. W Oracle, NOT IN zwraca FALSE, jeśli w liście wartości znajduje się NULL. Należy pamiętać o tych różnicach, aby uniknąć nieoczekiwanych rezultatów.

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.