¿Cuál es el resultado de la siguiente consulta: SELECT COUNT(DISTINCT EmployeeName) FROM Employees?

Uso del operador COUNT(DISTINCT) en SQL

En la consulta SQL planteada en la pregunta, se está utilizando el operador COUNT(DISTINCT) sobre la columna EmployeeName en la tabla Employees. Vamos a desglosar esto para entender mejor.

En SQL, COUNT es una función de agregado que devuelve el número de filas que coinciden con un criterio especificado. Por otro lado, DISTINCT se usa para eliminar duplicados de los resultados de una consulta. Por lo tanto, cuando se combinan en COUNT(DISTINCT), esta consulta devolverá el número de valores únicos en la columna que se haya especificado.

Por ejemplo, si la tabla Employees tiene mil filas pero solo 200 nombres de empleado únicos, SELECT COUNT(DISTINCT EmployeeName) FROM Employees devolverá '200'.

Es importante mencionar que COUNT(DISTINCT) se emplea cuando se precisa el número de elementos únicos en un conjunto y no el total de entradas. En nuestra consulta ejemplo, no estamos interesados en saber cuántos empleados hay en total (qué tan grande es la tabla), sino cuántos nombres de empleado diferentes existen en ella.

Buenas prácticas en SQL

Al trabajar con operadores de agregado como COUNT(), DISTINCT, entre otros, es útil mantener en mente algunas buenas prácticas:

  • Usar DISTINCT con precaución. En tablas grandes, puede ser costoso en términos de rendimiento.
  • Siempre que sea posible, crea índices en las columnas que se van a utilizar en operaciones de agregado. Esto puede acelerar drásticamente estas operaciones.
  • Entender bien los datos. En este caso, cada nombre de empleado es único? O es posible que dos empleados diferentes tengan el mismo nombre? La respuesta indicará si usar COUNT(DISTINCT) o simplemente COUNT().

Entender y utilizar correctamente los operadores de SQL como COUNT(DISTINCT) puede marcar la diferencia entre una base de datos performante y eficiente o una lenta e improductiva.

Related Questions

¿Te resulta útil?