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
Consejo

¿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
sql

Utiliza los siguientes parámetros:

  • SELECT DISTINCT: El comando SELECT en combinación con el operador DISTINCT 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
Consejo

¿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.

Servidores virtuales VPS
Virtualización completa con acceso root
  • 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
sql

Filtrar 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'
sql

Alternativas 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 combinas DISTINCT 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 con SELECT las columnas seleccionadas, con FROM decides la tabla en la que se encuentran las columnas y con WHERE determinas los criterios que deben cumplir los resultados.
¿Le ha resultado útil este artículo?
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede obtener más información, o bien conocer cómo cambiar la configuración de su navegador en nuestra. Política de Cookies.
Page top