Resumen :en este tutorial, aprenderá a usar SQLite SELECT DISTINCT
cláusula para eliminar filas duplicadas en el conjunto de resultados.
Introducción a SQLite SELECT DISTINCT
cláusula
El DISTINCT
cláusula es una cláusula opcional de SELECT
declaración. El DISTINCT
La cláusula le permite eliminar las filas duplicadas en el conjunto de resultados.
La siguiente declaración ilustra la sintaxis de DISTINCT
cláusula:
SELECT DISTINCT select_list
FROM table;
Code language: SQL (Structured Query Language) (sql)
En esta sintaxis:
- Primero, el
DISTINCT
La cláusula debe aparecer inmediatamente después deSELECT
palabra clave. - En segundo lugar, coloca una columna o una lista de columnas después de
DISTINCT
palabra clave. Si usa una columna, SQLite usa valores en esa columna para evaluar el duplicado. En caso de que use varias columnas, SQLite usa la combinación de valores en estas columnas para evaluar el duplicado.
SQLite considera NULL
valores como duplicados. Si usa el DISTINCT
cláusula con una columna que tiene NULL
valores, SQLite mantendrá una fila de un NULL
valor.
En la teoría de bases de datos, si una columna contiene NULL
valores, significa que no tenemos la información sobre esa columna de registros particulares o la información no es aplicable.
Por ejemplo, si un cliente tiene un número de teléfono con un NULL
valor, significa que no tenemos información sobre el número de teléfono del cliente al momento de registrar la información del cliente o es posible que el cliente no tenga ningún número de teléfono.
SQLite SELECT DISTINCT
ejemplos
Usaremos los customers
tabla en la base de datos de muestra para demostración.
Supongamos que desea conocer las ciudades donde se ubican los clientes, puede utilizar el SELECT
instrucción para obtener datos de la city
columna de los customers
tabla de la siguiente manera:
SELECT city
FROM customers
ORDER BY city;
Code language: SQL (Structured Query Language) (sql)
Pruébalo
Devuelve 59 filas. Hay pocas filas duplicadas como Berlin
London
y Mountain View
Para eliminar estas filas duplicadas, utilice el DISTINCT
cláusula de la siguiente manera:
SELECT DISTINCT city
FROM customers
ORDER BY city;
Code language: SQL (Structured Query Language) (sql)
Pruébalo
Devuelve 53 filas porque DISTINCT
la cláusula ha eliminado 6 filas duplicadas.
SQLite SELECT DISTINCT
en varias columnas
La siguiente declaración encuentra ciudades y países de todos los clientes.
SELECT
city,
country
FROM
customers
ORDER BY
country;
Code language: SQL (Structured Query Language) (sql)
Pruébalo
El conjunto de resultados contiene una ciudad y un país duplicados, por ejemplo, Sao Paulo en Brasil, como se muestra en la captura de pantalla anterior.
Para eliminar duplicar la ciudad y el país, aplica el DISTINCT
cláusula a las columnas de ciudad y país como se muestra en la siguiente consulta:
SELECT DISTINCT
city,
country
FROM
customers
ORDER BY
country;
Code language: SQL (Structured Query Language) (sql)
Aquí está la salida parcial:
Como se mencionó anteriormente, SQLite usa la combinación de ciudad y país para evaluar el duplicado.
SQLite SELECT DISTINCT
con NULL
ejemplo
Esta declaración devuelve los nombres de las empresas de los clientes de los customers
mesa.
SELECT company
FROM customers;
Code language: SQL (Structured Query Language) (sql)
Pruébalo
Devuelve 59 filas con muchos NULL
valores.
Ahora, si aplica el DISTINCT
cláusula a la declaración, mantendrá solo una fila con un NULL
valor.
Ver la siguiente declaración:
SELECT DISTINCT company
FROM customers;
Code language: SQL (Structured Query Language) (sql)
Pruébalo
La declaración devuelve 11 filas con un NULL
valor.
Tenga en cuenta que si selecciona una lista de columnas de una tabla y desea obtener una combinación única de algunas columnas, puede usar GROUP BY
cláusula.
En este tutorial, ha aprendido a eliminar filas duplicadas de un conjunto de resultados usando SQLite SELECT DISTINCT
cláusula.