SQL Server: cláusula DISTINCT

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

SQL Server: cláusula DISTINCT

Este tutorial de SQL Server describe cómo usar Cláusula DISTINCT Sintaxis y ejemplos en SQL Server (Transact-SQL).

describir

La cláusula DISTINCT de SQL Server (Transact-SQL) se usa para eliminar duplicados de un conjunto de resultados. La cláusula DISTINCT solo se puede usar con instrucciones SELECT.

sintaxis

La sintaxis de la cláusula DISTINCT en SQL Server (Transact-SQL) es:

SELECT DISTINCT expressions
FROM tables
[WHERE conditions];

parámetro o parámetro

Expresión La columna o cálculo que desea recuperar. tabla La tabla de la que desea recuperar registros. Debe aparecer al menos una tabla en la cláusula FROM. La condición WHERE es opcional. Para seleccionar las condiciones que debe cumplir un registro.

notas

  • Cuando solo se proporciona una expresión en la cláusula DISTINCT, la consulta devuelve valores únicos para esa expresión.
  • Cuando se proporcionan varias expresiones en la cláusula DISTINCT, la consulta recupera combinaciones únicas de las expresiones enumeradas.
  • En SQL Server, la cláusula DISTINCT no ignora los valores NULL. Por lo tanto, cuando usa la cláusula DISTINCT en su declaración SQL, su conjunto de resultados contendrá NULL como valores distintos.

Ejemplo: usar una sola expresión

Veamos el ejemplo más simple de la cláusula DISTINCT de SQL Server. Podemos usar la cláusula DISTINCT de SQL Server para devolver un campo que elimina los duplicados del conjunto de resultados.

Por ejemplo:

SELECT DISTINCT last_name
FROM employees
WHERE employee_id >= 50;

Este ejemplo DISTINCT de SQL Server devolverá todos los valores last_name únicos en la tabla de empleados con employee_id mayor o igual a 50.

Ejemplo: uso de varias expresiones

Veamos cómo usar la cláusula DISTINCT de SQL Server para eliminar duplicados de varios campos en una instrucción SELECT.

Por ejemplo:

SELECT DISTINCT first_name, last_name
FROM employees
WHERE employee_id >=50
ORDER BY last_name;

Este ejemplo de cláusula DISTINCT de SQL Server devolverá cada combinación única de nombre y apellido de la tabla de empleados donde employee_id es mayor o igual a 50. Los resultados se ordenan por apellido en orden ascendente.

En este caso, se aplica DISTINCT a cada campo enumerado después de la palabra clave DISTINCT, devolviendo así una combinación diferente.