IOKELU
Nivel: Intermedio
💡 Prueba las consultas:
Puedes ejecutar cualquier consulta SQL en nuestra consola interactiva: Abrir consola SQL →

DISTINCT en SQL: elimina duplicados de forma eficiente

La palabra clave DISTINCT permite eliminar valores duplicados en una consulta SQL. Es fundamental cuando necesitas obtener listas únicas, categorías, ciudades, productos o cualquier dato sin repetición.

1. ¿Qué es DISTINCT?

DISTINCT elimina valores duplicados en los resultados de una consulta. Si una columna contiene valores repetidos, DISTINCT devolverá solo uno de cada valor.


SELECT DISTINCT ciudad FROM usuarios;
    

2. DISTINCT en una columna


SELECT DISTINCT nombre FROM usuarios;
    

Devuelve una lista única de nombres sin duplicados.

3. DISTINCT en varias columnas

DISTINCT también puede aplicarse a varias columnas.


SELECT DISTINCT ciudad, edad FROM usuarios;
    

Devuelve combinaciones únicas de ciudad + edad.

4. COUNT(DISTINCT)

Puedes contar valores únicos usando COUNT(DISTINCT columna).


SELECT COUNT(DISTINCT ciudad) FROM usuarios;
    

5. Ejemplos prácticos


SELECT DISTINCT categoria FROM productos;
SELECT DISTINCT ciudad FROM usuarios;
SELECT DISTINCT nombre, ciudad FROM usuarios;
SELECT COUNT(DISTINCT categoria) FROM productos;
    

6. Ejercicios para practicar

7. Mini‑proyecto: Lista única de categorías


CREATE TABLE productos (
    id INT PRIMARY KEY,
    nombre VARCHAR(50),
    categoria VARCHAR(50)
);

INSERT INTO productos VALUES
(1, 'Camiseta', 'Ropa'),
(2, 'Pantalón', 'Ropa'),
(3, 'Auriculares', 'Electrónica');

SELECT DISTINCT categoria FROM productos;
    

8. Errores comunes

9. Preguntas frecuentes

¿DISTINCT es lento?

Puede serlo en tablas grandes, pero es muy útil para limpieza de datos.

¿DISTINCT y GROUP BY son iguales?

No, aunque a veces producen resultados similares.


Siguiente guía

SQL Intermedio – LIKE →