En una base de datos relacional se tiene una tabla T con 10.000 filas. La tabla T tiene un campo C1. La mitad de las tablas de las filas de T contienen el valor NULL en C1 mientras que el resto de las filas tienen valores no nulos en C1. En estas condiciones, indique el resultado de la siguiente consulta: SELECT COUNT(1) FROM T WHERE C1=NULL
- A.0Respuesta correcta
- B.1
- C.5.000
- D.10.000
Explicación
La respuesta correcta es A. En SQL, comparar un valor con NULL usando el operador = (C1=NULL) siempre devuelve UNKNOWN, no TRUE, por lo que la cláusula WHERE no selecciona ninguna fila. La forma correcta es usar IS NULL. COUNT(1) sobre un resultado vacío devuelve cero.