Repaso
English

¿Qué devuelve SELECT * FROM users WHERE deleted_at = NULL?

Opciones

  1. Los usuarios con deleted_at NULL
  2. Ninguna fila (Opción correcta)
  3. Todas las filas
  4. 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.

Términos clave

Practica esta pregunta en Repaso