Distinct en SQL: Unique Values in Spanish

¿Alguna vez te has encontrado con una lista de datos que se repite muchas veces y solo quieres ver los valores diferentes? ¡Aquí es donde SQL te puede ayudar! Hoy hablaremos sobre DISTINCT en SQL, una palabra mágica que elimina duplicados y te muestra solo los elementos únicos. Si estás aprendiendo SQL y hablas español, este artículo es justo para ti.

TLDR (Muy largo, no lo leí)

El comando DISTINCT en SQL se usa para mostrar solo los valores únicos de una columna o combinación de columnas. Es muy útil para limpiar datos y analizarlos sin repeticiones. Se usa con la instrucción SELECT. Por ejemplo: SELECT DISTINCT ciudad FROM clientes; te mostrará todas las ciudades sin repetir ninguna.


¿Qué es DISTINCT en SQL?

DISTINCT es una palabra clave en SQL. Sirve para eliminar duplicados en los resultados de una consulta. Si tienes una tabla con datos que se repiten, DISTINCT te da solo una fila por cada valor único.

Imagina una lista de frutas:

  • Manzana
  • Banana
  • Manzana
  • Naranja
  • Banana

Si aplicas DISTINCT, el resultado será:

  • Manzana
  • Banana
  • Naranja

¡Y listo! Frutas sin repetir.

¿Cómo se usa?

La forma más básica es:

SELECT DISTINCT columna FROM tabla;

Por ejemplo, si tienes una tabla llamada clientes con una columna ciudad, y quieres saber de qué ciudades son tus clientes:

SELECT DISTINCT ciudad FROM clientes;

Esto te devolverá cada ciudad una sola vez, sin importar cuántos clientes vivan ahí.

Usar DISTINCT con múltiples columnas

También puedes usar DISTINCT con más de una columna:

SELECT DISTINCT nombre, ciudad FROM clientes;

Esto te mostrará todas las combinaciones únicas de nombre y ciudad. Si hay dos personas llamadas Juan en Bogotá, aparecerán una sola vez si todos sus datos coinciden.

Pero si Juan de Bogotá aparece con dos números de teléfono diferentes, serían dos filas distintas. ¡Así trabaja SQL! Elimina duplicados solo cuando todas las columnas del SELECT son iguales.

¿Dónde usar DISTINCT?

Hay muchas situaciones donde DISTINCT puede ayudarte:

  • Listar países únicos de una base de datos de usuarios
  • Ver cuántos productos únicos hay en el inventario
  • Obtener una lista de correos electrónicos únicos sin duplicados

Ejemplo para correos:

SELECT DISTINCT email FROM usuarios;

¡Adiós a los correos repetidos!

¿Y qué pasa con COUNT(DISTINCT)?

¿Quieres saber cuántos valores únicos hay? Pues SQL también te lo da.

SELECT COUNT(DISTINCT ciudad) FROM clientes;

Esto te dice en cuántas ciudades distintas viven tus clientes. Súper útil para reportes, ¿no?

¡Ojo! Cosas importantes sobre DISTINCT

Hay algunos detalles que debes tener en cuenta al usar DISTINCT:

  • No puedes usarlo fácilmente con columnas TEXT muy largas o BLOB.
  • Puede poner lenta tu consulta si tienes miles de datos.
  • El orden con ORDER BY va al final.

Mira este ejemplo correcto:

SELECT DISTINCT ciudad FROM clientes ORDER BY ciudad ASC;

Y recuerda, DISTINCT actúa antes del ORDER BY, pero debes escribirlo después.

No uses DISTINCT solo por costumbre

Hay quienes piensan: “¡DISTINCT arreglará mis datos duplicados!” Pero cuidado:

Si los duplicados son errores en tu base de datos, corrige la base, no uses DISTINCT como una curita.

Úsalo cuando realmente necesites ver solo valores únicos, no como solución mágica a todo.

Diferencia entre GROUP BY y DISTINCT

Ambos eliminan duplicados, sí, pero funcionan diferente.

  • DISTINCT muestra filas únicas.
  • GROUP BY agrupa datos y se usa con funciones como SUM o AVG.

Veamos la diferencia:

SELECT DISTINCT ciudad FROM clientes;

vs

SELECT ciudad, COUNT(*) FROM clientes GROUP BY ciudad;

¿Notas la diferencia?

  • DISTINCT solo muestra la ciudad una vez.
  • GROUP BY te dice cuántos clientes hay en cada ciudad.

Ejemplos divertidos para practicar

Imagina una tabla de animales en un zoológico:

nombre      | especie       | continente
------------|---------------|------------
Leo         | León          | África
Tigreton    | Tigre         | Asia
Leo         | León          | África
Chispa      | Mono          | América

¿Quieres saber qué especies hay sin repetir?

SELECT DISTINCT especie FROM animales;

¿Y de qué continentes vienen?

SELECT DISTINCT continente FROM animales;

¿Todas las combinaciones únicas?

SELECT DISTINCT especie, continente FROM animales;

¡Y así puedes jugar todo lo que quieras!

Conclusión

El comando DISTINCT en SQL es sencillo pero poderoso. Te permite ver solo los valores únicos y evitar filas repetidas. Es perfecto para análisis de datos, reportes y consultas limpias.

No es una herramienta para arreglar errores, pero sí para trabajar de forma más eficiente. ¡Pruébalo tú mismo!

¿Listo para practicar? ¡Abre tu editor de SQL y empieza a explorar!

Resumen rápido

  • DISTINCT elimina filas duplicadas.
  • Se usa después de SELECT.
  • Funciona con una o varias columnas.
  • Usa ORDER BY para ordenar resultados únicos.
  • Ideal para ver listas sin repeticiones.

¡Y ahora ya eres experto en DISTINCT en SQL! Feliz análisis de datos.