sql >> Database teknologi >  >> RDS >> Database

Sådan filtreres rækker uden NULL i en kolonne

Problem:

Du ønsker at finde poster uden et NULL i en kolonne.

Eksempel:

Vores database har en tabel med navnet product med data i tre kolonner:id , name og price .

id navn pris
1 smør NULL
2 mælk 2,35
3 brød 3,25
4 ost NULL

Lad os finde navnene og priserne på produkter, der har en pris (uden NULL). Gør dette ved at bruge operatoren IS NOT NULL.

Løsning:

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

Her er resultatet af forespørgslen:

navn pris
mælk 2,35
brød 3,25

Dette returnerer kun poster uden NULL i kolonnen, så kun navne og priser på mælk og brød er til stede. Smør og ost har ingen priser (kolonnen price er NULL), så du ikke kan se dem.

Diskussion:

For at vise poster uden NULL i en kolonne, skal du bruge operatoren IS NOT NULL. Du behøver kun navnet på kolonnen (eller et udtryk) og operatoren ER IKKE NULL (i vores eksempel er price IS NOT NULL ). Sæt denne betingelse i WHERE-sætningen (i vores eksempel, WHERE price IS NOT NULL ), som filtrerer rækker.

Hvis betingelsen er sand, angiver det, at kolonnen ikke gemmer en NULL. Rækken returneres, hvis den har en værdi i denne kolonne (kolonnen er ikke NULL). Fra oven returnerer forespørgslen kun to produkter, mælk og brød, fordi de har værdier i price .


  1. Kombiner to kolonner og tilføj til en ny kolonne

  2. Find længden af ​​den længste række i en kolonne i orakel

  3. Der opstod en netværksrelateret eller instansspecifik fejl under oprettelse af en forbindelse til SQL Server

  4. SQL-OPDATERING:Lær, hvordan du opdaterer værdier i en tabel