SQL: 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: cláusula DISTINCT

Este tutorial de SQL explica cómo usar SQL Cláusula DISTINCT Con sintaxis y ejemplos.

describir

La cláusula SQL DISTINCT se usa para eliminar duplicados del conjunto de resultados de una instrucción SELECT.

sintaxis

La sintaxis de la cláusula DISTINCT en 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, 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 de DDL/DML

Si desea seguir este tutorial, obtenga DDL para crear las tablas y DML para completar los datos. ¡Entonces pruebe los ejemplos en su propia base de datos!

Ejemplo: buscar valores únicos en la columna

Veamos cómo usar la cláusula DISTINCT para encontrar valores únicos en una columna de una tabla.

En este ejemplo, tenemos una tabla llamada proveedores con los siguientes datos:

Identificación del proveedor Nombre del proveedor Ciudad Expresar
100 microsoft Redmond Washington
200 Google paisaje de la cima de la montaña California
300 Oráculo ciudad de secoya California
400 Kimberly Clark Owen Texas
500 Alimentos Tyson Springdale Arkansas
600 sc johnson Racine el estado de wisconsin
700 Alimentos Dole pueblo del lago oeste California
800 flores comida thomasville Georgia
900 Artes electrónicas ciudad de secoya California

Busquemos todos los estados únicos en la tabla de proveedores. Ingrese la siguiente instrucción SQL:

SELECT DISTINCT state
FROM suppliers
ORDER BY state;

Se seleccionarán 6 registros. Estos son los resultados que deberías ver:

Expresar
Arkansas
California
Georgia
Texas
Washington
el estado de wisconsin

Este ejemplo devuelve todos los valores de estado únicos en la tabla de proveedores y elimina todos los duplicados del conjunto de resultados. Como puede ver, el estado de California aparece solo una vez en el conjunto de resultados, no cuatro veces.

Ejemplo: buscar valores únicos en varias columnas

A continuación, veamos cómo usar la cláusula SQL DISTINCT para eliminar duplicados de varios campos en una instrucción SELECT.

Usando la misma tabla de proveedores que en el ejemplo anterior, ingrese la siguiente instrucción SQL:

SELECT DISTINCT city, state
FROM suppliers
ORDER BY city, state;

Se seleccionarán 8 registros. Estos son los resultados que deberías ver:

Ciudad Expresar
Owen Texas
paisaje de la cima de la montaña California
Racine el estado de wisconsin
Redmond Washington
ciudad de secoya California
Springdale Arkansas
thomasville Georgia
pueblo del lago oeste California

Este ejemplo devolverá cada combinación única de ciudad y estado. En este caso, DISTINCT se aplica a cada campo que aparece después de la palabra clave DISTINCT. como puedes ver, Redwood City, California Aparece solo una vez en el conjunto de resultados, no dos veces.

Ejemplo: cómo la cláusula DISTINCT maneja los valores NULL

Finalmente, ¿la cláusula DISTINCT considera que NULL es el único valor en SQL? La respuesta es sí. Exploremos esto más a fondo.

En este ejemplo, tenemos una tabla llamada productos con los siguientes datos:

ID del Producto nombre del producto categoria ID
1 pera 50
2 plátano 50
3 mandarina 50
4 manzana 50
5 pan de molde 75
6 jamón 25
7 kleenex nulo

Ahora seleccionemos valores únicos del campo category_id que contiene valores NULL. Ingrese la siguiente instrucción SQL:

SELECT DISTINCT category_id
FROM products
ORDER BY category_id;

Se seleccionarán 4 registros. Estos son los resultados que deberías ver:

categoria ID
nulo
25
50
75

En este ejemplo, la consulta devolverá valores únicos en la columna category_id. Como puede ver en la primera fila del conjunto de resultados, NULL es el único valor devuelto por la cláusula DISTINCT.

(Visited 4 times, 1 visits today)