¿Qué devuelve SELECT * FROM users WHERE deleted_at = NULL?
Opciones
- Los usuarios con deleted_at NULL
- Ninguna fila (Opción correcta)
- Todas las filas
- Un error en todas las bases de datos
Respuesta
Ninguna fila
Por qué
NULL significa 'desconocido'. Comparar cualquier cosa con desconocido da desconocido, incluso NULL = NULL. WHERE conserva solo las filas donde la condición es TRUE, así que ninguna coincide.
Lo correcto es WHERE deleted_at IS NULL (o IS NOT NULL).
Recuerda
Usa IS NULL, nunca = NULL.