sql >> Base de Datos >  >> RDS >> SQLite

SQLite Seleccionar Distinto

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 de SELECT 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.