SQLite
 sql >> Database >  >> RDS >> SQLite

SQLite Seleziona distinto

Riepilogo :in questo tutorial imparerai come usare SQLite SELECT DISTINCT clausola per rimuovere le righe duplicate nel set di risultati.

Introduzione a SQLite SELECT DISTINCT clausola

Il DISTINCT è una clausola facoltativa di SELECT dichiarazione. Il DISTINCT La clausola consente di rimuovere le righe duplicate nel set di risultati.

La seguente istruzione illustra la sintassi di DISTINCT clausola:

SELECT DISTINCT	select_list
FROM table;Code language: SQL (Structured Query Language) (sql)

In questa sintassi:

  • In primo luogo, il DISTINCT la clausola deve apparire immediatamente dopo il SELECT parola chiave.
  • In secondo luogo, inserisci una colonna o un elenco di colonne dopo il DISTINCT parola chiave. Se utilizzi una colonna, SQLite utilizza i valori in quella colonna per valutare il duplicato. Nel caso in cui utilizzi più colonne, SQLite utilizza la combinazione di valori in queste colonne per valutare il duplicato.

SQLite considera NULL valori come duplicati. Se usi il DISTINCT clausola con una colonna che ha NULL valori, SQLite manterrà una riga di un NULL valore.

Nella teoria del database, se una colonna contiene NULL valori, significa che non abbiamo le informazioni su quella colonna di particolari record o le informazioni non sono applicabili.

Ad esempio, se un cliente ha un numero di telefono con un NULL valore, significa che non abbiamo informazioni sul numero di telefono del cliente al momento della registrazione delle informazioni sul cliente o il cliente potrebbe non avere alcun numero di telefono.

SQLite SELECT DISTINCT esempi

Useremo i customers tabella nel database di esempio per la dimostrazione.

Supponiamo che tu voglia conoscere le città in cui si trovano i clienti, puoi utilizzare il SELECT istruzione per ottenere i dati dalla city colonna dei customers tabella come segue:

SELECT city
FROM customers
ORDER BY city;Code language: SQL (Structured Query Language) (sql)

Provalo

Restituisce 59 righe. Ci sono poche righe duplicate come Berlin London e Mountain View Per rimuovere queste righe duplicate, utilizzi DISTINCT clausola come segue:

SELECT DISTINCT city
FROM customers
ORDER BY city;Code language: SQL (Structured Query Language) (sql)

Provalo

Restituisce 53 righe perché DISTINCT la clausola ha rimosso 6 righe duplicate.

SQLite SELECT DISTINCT su più colonne

La seguente dichiarazione trova le città e i paesi di tutti i clienti.

SELECT
	city,
	country
FROM
	customers
ORDER BY
	country;Code language: SQL (Structured Query Language) (sql)

Provalo

Il set di risultati contiene città e paesi duplicati, ad esempio San Paolo in Brasile, come mostrato nello screenshot qui sopra.

Per rimuovere la città e il paese duplicati, applica il DISTINCT clausola su entrambe le colonne città e paese come mostrato nella query seguente:

SELECT  DISTINCT
	city,
	country
FROM
	customers
ORDER BY
	country;Code language: SQL (Structured Query Language) (sql)

Ecco l'output parziale:

Come accennato in precedenza, SQLite utilizza la combinazione di città e paese per valutare il duplicato.

SQLite SELECT DISTINCT con NULL esempio

Questa dichiarazione restituisce i nomi delle aziende dei clienti dai customers tabella.

SELECT company
FROM customers;Code language: SQL (Structured Query Language) (sql)

Provalo

Restituisce 59 righe con molti NULL valori.

Ora, se applichi il DISTINCT clausola all'istruzione, manterrà solo una riga con un NULL valore.

Vedi la seguente dichiarazione:

SELECT DISTINCT company
FROM customers;Code language: SQL (Structured Query Language) (sql)

Provalo

L'istruzione restituisce 11 righe con un NULL valore.

Tieni presente che se selezioni un elenco di colonne da una tabella e desideri ottenere una combinazione univoca di alcune colonne, puoi utilizzare il GROUP BY clausola.

In questo tutorial, hai imparato come rimuovere le righe duplicate da un set di risultati usando SQLite SELECT DISTINCT clausola.