sql >> Base de Datos >  >> RDS >> Database

Cómo filtrar filas sin NULL en una columna

Problema:

Quiere encontrar registros sin NULL en una columna.

Ejemplo:

Nuestra base de datos tiene una tabla llamada product con datos en tres columnas:id , name y price .

id nombre precio
1 mantequilla NULO
2 leche 2,35
3 pan 3,25
4 queso NULO

Encontremos los nombres y precios de los productos que tienen precio (sin NULL). Haga esto usando el operador IS NOT NULL.

Solución:

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

Este es el resultado de la consulta:

nombre precio
leche 2,35
pan 3,25

Esto devuelve solo registros sin NULL en la columna, por lo que solo están presentes los nombres y precios de la leche y el pan. La mantequilla y el queso no tienen precios (la columna price es NULL) para que no los veas.

Discusión:

Para mostrar registros sin NULL en una columna, use el operador IS NOT NULL. Solo necesitas el nombre de la columna (o una expresión) y el operador NO ES NULO (en nuestro ejemplo, el price IS NOT NULL ). Ponga esta condición en la cláusula WHERE (en nuestro ejemplo, WHERE price IS NOT NULL ), que filtra filas.

Si la condición es verdadera, indica que la columna no almacena un NULL. La fila se devuelve si tiene un valor en esta columna (la columna no es NULL). Desde arriba, la consulta devuelve solo dos productos, leche y pan, porque tienen valores en price .