Database
 sql >> Datenbank >  >> RDS >> Database

So filtern Sie Zeilen ohne NULL in einer Spalte

Problem:

Sie möchten Datensätze ohne NULL in einer Spalte finden.

Beispiel:

Unsere Datenbank hat eine Tabelle namens product mit Daten in drei Spalten:id , name und price .

id Name Preis
1 Butter NULL
2 Milch 2,35
3 Brot 3.25
4 Käse NULL

Lassen Sie uns die Namen und Preise von Produkten finden, die einen Preis haben (ohne NULL). Verwenden Sie dazu den Operator IS NOT NULL.

Lösung:

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

Hier ist das Ergebnis der Abfrage:

name Preis
Milch 2,35
Brot 3.25

Dies gibt nur Datensätze ohne NULL in der Spalte zurück, sodass nur die Namen und Preise von Milch und Brot vorhanden sind. Butter und Käse haben keine Preise (die Spalte price ist NULL), sodass Sie sie nicht sehen.

Diskussion:

Um Datensätze ohne NULL in einer Spalte anzuzeigen, verwenden Sie den Operator IS NOT NULL. Sie benötigen lediglich den Namen der Spalte (oder einen Ausdruck) und den Operator IS NOT NULL (in unserem Beispiel ist der price IS NOT NULL). ). Fügen Sie diese Bedingung in die WHERE-Klausel ein (in unserem Beispiel WHERE price IS NOT NULL). ), wodurch Zeilen gefiltert werden.

Wenn die Bedingung wahr ist, bedeutet dies, dass die Spalte keine NULL speichert. Die Zeile wird zurückgegeben, wenn sie einen Wert in dieser Spalte enthält (die Spalte ist nicht NULL). Von oben gibt die Abfrage nur zwei Produkte zurück, Milch und Brot, weil sie Werte in price haben .