Eliminar duplicados con DISTINCT
La palabra clave DISTINCT elimina las filas duplicadas de los resultados de una instrucción SELECT. Si no se especifica DISTINCT, se devuelven todas las filas, incluidas las duplicadas. Por ejemplo, si selecciona todos los Id. de producto de ProductInventory sin DISTINCT, se devolverán 1069 filas.
Con DISTINCT, puede eliminar los duplicados y ver sólo los Id. de producto que sean únicos.
USE AdventureWorks;
GO
SELECT DISTINCT ProductID
FROM Production.ProductInventory
Esta consulta devuelve 432 filas.
Importante |
---|
El resultado de las instrucciones que incluyen DISTINCT depende de la intercalación de la columna o expresión a la que se aplica DISTINCT. |
Con la palabra clave DISTINCT, se considera que los valores NULL son duplicados unos de otros. Cuando se incluye DISTINCT en una instrucción SELECT, sólo se devuelve un valor NULL en los resultados, con independencia del número de valores NULL que se encuentre.
[!NOTA]
Por compatibilidad con el estándar ISO y demás implementaciones de MicrosoftSQL Server, la palabra clave ALL puede pedir explícitamente todas las filas. No obstante, no hay necesidad de especificar ALL porque es la opción predeterminada.