sql >> Databasteknik >  >> RDS >> Database

Hur man filtrerar rader utan NULL i en kolumn

Problem:

Du vill hitta poster utan NULL i en kolumn.

Exempel:

Vår databas har en tabell som heter product med data i tre kolumner:id , name och price .

id namn pris
1 smör NULL
2 mjölk 2,35
3 bröd 3.25
4 ost NULL

Låt oss hitta namn och priser på produkter som har ett pris (utan NULL). Gör detta genom att använda operatorn IS NOT NULL.

Lösning:

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

Här är resultatet av frågan:

namn pris
mjölk 2,35
bröd 3.25

Detta returnerar endast poster utan NULL i kolumnen, så endast namn och priser på mjölk och bröd är närvarande. Smör och ost har inga priser (kolumnen price är NULL) så att du inte ser dem.

Diskussion:

För att visa poster utan NULL i en kolumn, använd operatorn IS NOT NULL. Du behöver bara namnet på kolumnen (eller ett uttryck) och operatorn IS NOT NULL (i vårt exempel är price IS NOT NULL ). Sätt detta villkor i WHERE-satsen (i vårt exempel, WHERE price IS NOT NULL ), som filtrerar rader.

Om villkoret är sant, anger det att kolumnen inte lagrar en NULL. Raden returneras om den har ett värde i den här kolumnen (kolumnen är inte NULL). Från ovan returnerar frågan endast två produkter, mjölk och bröd, eftersom de har värden i price .


  1. Samla schemastatistik med FND_STATS i EBS 11i och R12

  2. Sök i Microsoft SQL Server Database efter lagrad data

  3. PL/SQL-bulksamla med LIMIT-klausul i Oracle-databasen

  4. Metoder för att rangordna rader i SQL Server:ROW_NUMBER(), RANK(), DENSE_RANK() och NTILE()