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
.