SQL SELECT DISTINCT – cómo eliminar valores duplicados de una búsqueda de datos
Al realizar una consulta con SQL SELECT DISTINCT
puedes obtener resultados con conjuntos de datos y filas únicas. SELECT DISTINCT
elimina los duplicados de las filas y los grupos de datos elegidos y mejora la exactitud y claridad de tu análisis de datos.
¿Qué es SQL SELECT DISTINCT
?
SELECT DISTINCT
es un operador de procesamiento de SQL que se utiliza junto con el comando SQL SELECT. En la consulta, el comando SELECT
selecciona una o múltiples columnas y conjuntos de datos. El operador DISTINCT
elimina las filas y valores duplicados, de manera que en tus resultados de búsqueda solo ves líneas únicas distintas a las demás. Si combinas SELECT DISTINCT
con otros operadores y comandos de SQL, puedes ajustar la consulta a tus necesidades.
Diferencias entre SQL SELECT DISTINCT
y SELECT UNIQUE
Es posible que UNIQUE
(único) y DISTINCT
(distinto) se parezcan en significado, pero como operadores de SQL desempeñan funciones diferentes. Para utilizar SQL SELECT DISTINCT
correctamente, debes saber en qué se diferencian ambas funciones:
SQL SELECT DISTINCT | SQL SELECT UNIQUE |
---|---|
Comprueba conjuntos de datos completos en busca de filas y valores duplicados, elimina las redundancias y devuelve resultados inequívocos y distintos | Es idóneo para impedir la entrada de duplicados y valores dobles en tablas y columnas determinadas mediante limitaciones en las columnas |
Se utiliza principalmente para obtener resultados claros y significativos al evaluar, analizar y comparar conjuntos de datos | Se usa en la creación y edición de tablas para garantizar una mejor integridad de los datos sin redundancias |
¿Quieres iniciarte rápidamente en el lenguaje de programación y bases de datos SQL? Nuestra guía de SQL con ejemplos te muestra los fundamentos de SQL y las funciones más importantes.
Explicación de la sintaxis de SELECT DISTINCT
La sintaxis de SELECT DISTINCT
es sencilla:
SELECT DISTINCT ColumnaA, ColumnaB, …
FROM tabla
sqlUtiliza los siguientes parámetros:
SELECT DISTINCT
: El comandoSELECT
en combinación con el operadorDISTINCT
selecciona las columnas de las que quieres eliminar los duplicados en los resultados.FROM
: Selecciona la tabla en la que quieres buscar columnas con duplicados.WHERE
: Con la cláusula opcional SQL WHERE puedes añadir condiciones especiales y limitar la consulta de datos a valores específicos.
Para qué sirve SELECT DISTINCT
Las opciones de uso de las consultas con SQL SELECT DISTINCT
son prácticamente ilimitadas. Algunos ejemplos:
- Reducir datos de productos, clientes, pedidos o pacientes que aparecen varias veces en las filas a una única entrada
- Contar e indicar claramente el número de compras de productos mediante los pedidos y el identificador de producto
- Consultar datos únicos de pacientes o clientes
- Mostrar todas las direcciones de envío o proveedores de una región
¿Quieres que tu proyecto web con sistema escalable de gestión de bases de datos tenga unos cimientos robustos? Utiliza el hosting SQL server de IONOS y descubre las ofertas de servidores y hosting únicas que ofrece, con estándares alemanes de protección de datos.
- Ancho de banda de hasta 1 Gb/s y tráfico ilimitado
- Almacenamiento SSD NVMe ultrarrápido
- Incluye: edición Plesk Web Host
Ejemplos prácticos de SQL SELECT DISTINCT
Para que veas cómo funciona SQL SELECT DISTINCT
, explicamos el operador con dos prácticos ejemplos de uso.
Consultar todos los clientes
Si quieres ver claramente todos los clientes de la tabla “Pedidos”, sin filas duplicadas por pedidos múltiples, procede de la siguiente manera:
SELECT DISTINCT Nombre de cliente
FROM Pedido
sqlFiltrar clientes de una determinada región
Con la cláusula WHERE
puedes definir de manera más precisa la evaluación de clientes mediante condiciones adicionales. Si por ejemplo quieres consultar todos los clientes de la tabla “Pedidos” que vienen de Alemania, procede de la siguiente manera:
SELECT DISTINCT Nombre de cliente, País
FROM Pedidos
WHERE País = 'Alemania'
sqlAlternativas a SQL SELECT DISTINCT
Aunque SELECT DISTINCT
es una buena forma de eliminar los duplicados en una consulta de datos, DISTINCT
no es siempre la mejor opción. Cuando trata con grandes conjuntos de datos, este operador requiere bastantes recursos al tener que comparar cada una de las columnas seleccionadas, por lo que en ocasiones merecerá la pena utilizar alternativas con funciones similares. Algunas son:
GROUP BY
: Con la cláusula SQL GROUP BY puedes agrupar los conjuntos de datos de columnas dadas y precisar con otras funciones y operadores.EXISTS
: Con SQL EXISTS puedes comprobar si hay determinados valores y conjuntos de datos en otra tabla.COUNT
: Si combinasDISTINCT
con la función SQL COUNT, puedes contar valores únicos en las columnas.SELECT
+FROM
+WHERE
: Con una subquery, es decir, una consulta anidada en otra consulta, puedes acotar mejor los resultados. En la subquery eliges conSELECT
las columnas seleccionadas, con FROM decides la tabla en la que se encuentran las columnas y conWHERE
determinas los criterios que deben cumplir los resultados.