Database
 sql >> Baza danych >  >> RDS >> Database

Jak filtrować wiersze bez wartości NULL w kolumnie?

Problem:

Chcesz znaleźć rekordy bez wartości NULL w kolumnie.

Przykład:

Nasza baza danych zawiera tabelę o nazwie product z danymi w trzech kolumnach:id , name i price .

id imię cena
1 masło NULL
2 mleko 2,35
3 chleb 3,25
4 ser NULL

Znajdźmy nazwy i ceny produktów, które mają cenę (bez NULL). Zrób to za pomocą operatora IS NOT NULL.

Rozwiązanie:

SELECT name, 
  price
FROM product
WHERE price IS NOT NULL;

Oto wynik zapytania:

nazwa cena
mleko 2,35
chleb 3,25

Zwraca to tylko rekordy bez NULL w kolumnie, więc obecne są tylko nazwy i ceny mleka i chleba. Masło i ser nie mają cen (kolumna price jest NULL), więc ich nie widzisz.

Dyskusja:

Aby wyświetlić w kolumnie rekordy bez wartości NULL, użyj operatora IS NOT NULL. Potrzebujesz tylko nazwy kolumny (lub wyrażenia) i operatora NIE JEST NULL (w naszym przykładzie price IS NOT NULL ). Umieść ten warunek w klauzuli WHERE (w naszym przykładzie WHERE price IS NOT NULL ), który filtruje wiersze.

Jeśli warunek jest prawdziwy, oznacza to, że kolumna nie przechowuje wartości NULL. Wiersz jest zwracany, jeśli ma wartość w tej kolumnie (kolumna nie ma wartości NULL). Z góry zapytanie zwraca tylko dwa produkty, mleko i chleb, ponieważ mają one wartości w price .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak dołączyć do wielu (3+) stołów za pomocą jednej instrukcji

  2. Praktyczne zastosowanie funkcji SQL COALESCE

  3. Jak policzyć liczbę wierszy w tabeli w SQL?

  4. Przestarzałe funkcje do wyjęcia z przybornika – część 1

  5. Wizualizacja danych