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

Cómo encontrar registros con NULL en una columna

Problema:

Quiere encontrar registros con NULL en una columna.

Ejemplo:

Nuestra base de datos tiene una tabla llamada children con datos en cuatro columnas:id , first_name , middle_name y last_name .

id nombre segundo_nombre apellido
1 Juan Carlo Jackson
2 Tom NULO Thomson
3 Lisa Alicia NULO
4 Ana NULO Smith

Encontremos la identificación, el nombre y el apellido de los niños sin un segundo nombre (NULL en la columna middle_name ). Usamos el operador IS NULL para esto.

Solución:

SELECT id,
  first_name,
  last_name
FROM children
WHERE middle_name IS NULL;

Aquí está el resultado:

id nombre apellido
2 Tom Thomson
4 Ana Smith

Esto devuelve solo registros con NULL en middle_name , por lo que Tom y Anne están presentes, pero no John y Lisa, que tienen segundo nombre.

Discusión:

Usa el IS NULL operador en una condición con DONDE para encontrar registros con NULL en una columna. Por supuesto, también puede usar cualquier expresión en lugar del nombre de una columna y verificar si devuelve NULL. No se necesita nada más que el nombre de una columna y el operador IS NULL (en nuestro ejemplo, middle_name IS NULL ). Ponga esta condición en la cláusula WHERE para filtrar filas (en nuestro ejemplo, WHERE middle_name IS NULL ). Si la condición es verdadera, la columna almacena un NULL y se devuelve esta fila. Arriba, la consulta devuelve solo dos registros con los hijos Tom y Anne, que no tienen segundo nombre, por lo que la columna middle_name almacena NULL.