SQL
Tutorial SQL: Filtrado de valores únicos con DISTINCT
SQL distinct: eliminación de duplicados. Domina la eliminación de duplicados en SQL utilizando la cláusula DISTINCT con ejemplos prácticos.
Aprende SQL GRATIS y certifícateDISTINCT
es una palabra clave utilizada en SQL para eliminar registros duplicados de los resultados de una consulta. Es útil cuando se desean mostrar solo los valores únicos en un conjunto de datos, como en listados de clientes o productos.
Cómo funciona
Cuando se aplica DISTINCT
a una consulta SELECT
, SQL revisa los resultados y descarta cualquier fila duplicada. Una "fila duplicada" es una donde todos los campos son idénticos a los de otra fila. Por ejemplo, si se tiene una tabla con nombres de personas, y el nombre "Juan" aparece varias veces, una consulta SELECT DISTINCT
sobre esa tabla solo mostrará "Juan" una vez.
Supongamos que tenemos la siguiente tabla llamada Personas
:
ID | Nombre | Ciudad |
---|---|---|
1 | Juan | Madrid |
2 | Ana | Sevilla |
3 | Juan | Valencia |
4 | Ana | Madrid |
5 | Pedro | Barcelona |
6 | Ana | Sevilla |
Si ejecutamos la consulta SELECT Nombre FROM Personas;
, obtendremos:
Nombre |
---|
Juan |
Ana |
Juan |
Ana |
Pedro |
Ana |
Podemos ver que el nombre "Ana" aparece tres veces y "Juan" dos veces. Para obtener una lista de nombres únicos, podemos usar DISTINCT
.
SELECT DISTINCT Nombre FROM Personas;
El resultado será:
Nombre |
---|
Juan |
Ana |
Pedro |
Esta lista muestra todos los nombres únicos de la tabla Personas
, eliminando cualquier duplicado gracias al uso de SELECT DISTINCT
.
Uso con múltiples campos
Se puede utilizar DISTINCT
con más de un campo. En este caso, SQL considerará un duplicado a cualquier fila donde TODOS los campos sean idénticos.
Siguiendo con el ejemplo anterior, si quisiéramos obtener las combinaciones únicas de Nombre
y Ciudad
, podríamos hacer:
SELECT DISTINCT Nombre, Ciudad FROM Personas;
El resultado sería:
Nombre | Ciudad |
---|---|
Juan | Madrid |
Ana | Sevilla |
Juan | Valencia |
Ana | Madrid |
Pedro | Barcelona |
Aunque "Juan" y "Ana" aparecen más de una vez, cada aparición es para una ciudad diferente, por lo que cada fila se considera única. Compárese con la tabla original, en la que la combinación "Ana - Sevilla" aparecía dos veces.
Consideraciones de rendimiento
DISTINCT
puede afectar el rendimiento en grandes volúmenes de datos, ya que SQL necesita procesar todos los resultados para identificar y eliminar duplicados.
Manejo de campos NULL
Es importante recordar que en SQL, dos campos NULL
se consideran distintos entre sí. Esto puede influir en los resultados al usar DISTINCT
.
Alternativas y complementos
Si se necesita trabajar con duplicados basándose en columnas específicas, se pueden utilizar métodos como GROUP BY o funciones de ventana (ROW_NUMBER(), RANK(), DENSE_RANK(), etc.).
Conclusión
DISTINCT
es una herramienta poderosa en SQL para eliminar duplicados y obtener conjuntos de datos únicos. Su comprensión y uso adecuado son cruciales para la eficiencia en la manipulación y análisis de datos.
Ejercicios de esta lección Filtrado de valores únicos con DISTINCT
Evalúa tus conocimientos de esta lección Filtrado de valores únicos con DISTINCT con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Actualización de datos: UPDATE
Creación y uso de procedimientos almacenados
Uso de funciones agregadas: COUNT, SUM, AVG, MAX, MIN
Tipos de datos
Uso de índices y particiones
Uso de vistas
Uso de INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN
Sentencias INSERT
Creación y uso de subqueries
Uso de INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN
Instalación de MySQL
Relaciones entre tablas
Clasificación de resultados con ORDER BY
Creación y manejo de usuarios y roles
Eliminación de datos: DELETE
Creación y uso de funciones
Vaciar tablas y bases de datos: DROP
Consultas básicas de selección: SELECT y WHERE
Creación de bases de datos y tablas
Filtrado de valores únicos con DISTINCT
Alterar la estructura de tablas existentes: ALTER TABLE
Creación de tablas e inserción de datos con SQL
Asignación y gestión de permisos
Optimización de consultas
Introducción a SQL
Triggers y eventos
Copias de seguridad y restauración de bases de datos
Filtrado de grupos de resultados con HAVING
Eliminación de datos: DELETE
Inserción de datos: INSERT INTO
Instalación de PostgreSQL
Agrupación de resultados con GROUP BY
Actualización de datos: UPDATE
Renombrar tablas y bases de datos: RENAME
Creación de bases de datos y tablas: CREATE DATABASE, CREATE TABLE
Bases de datos y tablas
Consultas básicas de selección SELECT y WHERE
Relaciones entre tablas
Todas las lecciones de SQL
Accede a todas las lecciones de SQL y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción A Sql
Introducción Y Entorno
Ddl Y Dml
Introducción Y Entorno
Instalación De Mysql
Introducción Y Entorno
Instalación De Postgresql
Introducción Y Entorno
Tipos De Datos
Introducción Y Entorno
Bases De Datos Y Tablas
Introducción Y Entorno
Creación De Bases De Datos Y Tablas: Create Database, Create Table
Operaciones Básicas
Consultas Básicas De Selección: Select Y Where
Operaciones Básicas
Inserción De Datos: Insert Into
Operaciones Básicas
Actualización De Datos: Update
Operaciones Básicas
Eliminación De Datos: Delete
Operaciones Básicas
Clasificación De Resultados Con Order By
Filtros Y Clasificación
Filtrado De Valores Únicos Con Distinct
Filtros Y Clasificación
Uso De Funciones Agregadas: Count, Sum, Avg, Max, Min
Funciones Agregadas Y Agrupaciones
Agrupación De Resultados Con Group By
Funciones Agregadas Y Agrupaciones
Filtrado De Grupos De Resultados Con Having
Funciones Agregadas Y Agrupaciones
Relaciones Entre Tablas
Joins Y Subqueries
Uso De Inner Join, Left Join, Right Join, Full Join
Joins Y Subqueries
Creación Y Uso De Subqueries
Joins Y Subqueries
Alterar La Estructura De Tablas Existentes: Alter Table
Manipulación De Tablas Y Datos
Renombrar Tablas Y Bases De Datos: Rename
Manipulación De Tablas Y Datos
Vaciar Tablas Y Bases De Datos: Drop
Manipulación De Tablas Y Datos
Creación Y Uso De Funciones
Funciones Y Procedimientos Almacenados
Creación Y Uso De Procedimientos Almacenados
Funciones Y Procedimientos Almacenados
Creación Y Manejo De Usuarios Y Roles
Seguridad Y Administración De Bases De Datos Sql
Asignación Y Gestión De Permisos
Seguridad Y Administración De Bases De Datos Sql
Copias De Seguridad Y Restauración De Bases De Datos
Seguridad Y Administración De Bases De Datos Sql
Optimización De Consultas
Sintaxis Avanzada
Uso De Índices Y Particiones
Sintaxis Avanzada
Uso De Vistas
Sintaxis Avanzada
Triggers Y Eventos
Sintaxis Avanzada
Certificados de superación de SQL
Supera todos los ejercicios de programación del curso de SQL y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender el propósito de
DISTINCT
en SQL y cómo se aplica para eliminar duplicados en una consultaSELECT
. - Aprender a utilizar
DISTINCT
para obtener una lista de valores únicos en un campo específico. - Entender cómo
DISTINCT
también puede aplicarse a múltiples campos para obtener combinaciones únicas de valores. - Reconocer las consideraciones al usar
DISTINCT
, como su impacto en el rendimiento en grandes volúmenes de datos y el tratamiento de campos NULL.