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

SQLite Seleziona

Riepilogo :in questo tutorial imparerai come usare SQLite SELECT istruzione per interrogare i dati da una singola tabella.

Il SELECT statement è una delle istruzioni più comunemente usate in SQL. Il SELECT di SQLite fornisce tutte le funzionalità di SELECT istruzione nello standard SQL.

Usi semplici di SELECT dichiarazione

Puoi usare il SELECT istruzione per eseguire un semplice calcolo come segue:

SELECT	1 + 1;Code language: SQL (Structured Query Language) (sql)

Provalo

Puoi usare più espressioni in SELECT dichiarazione come segue:

SELECT 
   10 / 5, 
   2 * 4 ;Code language: SQL (Structured Query Language) (sql)

Provalo

Interrogazione di dati da una tabella utilizzando SELECT dichiarazione

Usiamo spesso il SELECT istruzione per interrogare i dati da una o più tabelle. La sintassi di SELECT dichiarazione è la seguente:

SELECT DISTINCT column_list
FROM table_list
  JOIN table ON join_condition
WHERE row_filter
ORDER BY column
LIMIT count OFFSET offset
GROUP BY column
HAVING group_filter;Code language: SQL (Structured Query Language) (sql)

Il SELECT istruzione è l'istruzione più complessa in SQLite. Per facilitare la comprensione di ogni parte, interromperemo il SELECT dichiarazione in più tutorial di facile comprensione.

  • Usa la clausola ORDER BY per ordinare il set di risultati
  • Utilizza la clausola DISTINCT per eseguire query su righe univoche in una tabella
  • Utilizza la clausola WHERE per filtrare le righe nel set di risultati
  • Utilizzare le clausole LIMIT OFFSET per vincolare il numero di righe restituite
  • Utilizza INNER JOIN o LEFT JOIN per eseguire query sui dati da più tabelle utilizzando join.
  • Utilizza GROUP BY per riunire le righe del gruppo in gruppi e applicare la funzione di aggregazione per ciascun gruppo.
  • Utilizza la clausola HAVING per filtrare i gruppi

In questo tutorial, ci concentreremo sulla forma più semplice di SELECT istruzione che consente di eseguire query sui dati da una singola tabella.

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

Anche se il SELECT la clausola appare prima del FROM clausola, SQLite valuta il FROM prima la clausola e poi il SELECT clausola, quindi:

  • In primo luogo, specifica la tabella da cui desideri ottenere i dati in FROM clausola. Nota che puoi avere più di una tabella nel FROM clausola. Ne parleremo nel tutorial successivo.
  • In secondo luogo, specifica una colonna o un elenco di colonne separate da virgole in SELECT clausola.

Utilizzare il punto e virgola (;) per terminare l'istruzione.

SQLite SELECT esempi

Diamo un'occhiata ai tracks tabella nel database di esempio.

Le tracks la tabella contiene colonne e righe. Sembra un foglio di lavoro.

Per ottenere dati dalla tabella dei brani come trackid, nome del brano, compositore e prezzo unitario, utilizza la seguente istruzione:

SELECT
	trackid,
	name,
	composer,
	unitprice
FROM
	tracks;Code language: SQL (Structured Query Language) (sql)

Provalo

Specificare un elenco di nomi di colonne, di cui si desidera ottenere i dati, in SELECT clausola e le tracks tabella nel FROM clausola. SQLite restituisce il seguente risultato:

Per ottenere i dati da tutte le colonne, specifica le colonne delle tracks tabella nella SELECT clausola come segue:

SELECT
	trackid,
	name,
	albumid,
	mediatypeid,
	genreid,
	composer,
	milliseconds,
	bytes,
	unitprice
FROM
	tracks;Code language: SQL (Structured Query Language) (sql)

Provalo

Per una tabella con molte colonne, la query sarebbe così lunga da richiedere molto tempo per la digitazione. Per evitare ciò, puoi utilizzare l'asterisco (*), che è l'abbreviazione di tutte le colonne della tabella come segue:

SELECT * FROM tracks;Code language: SQL (Structured Query Language) (sql)

Provalo

La query ora è più breve e più pulita.

Tuttavia...

Dovresti usare l'asterisco (*) solo a scopo di test, non nello sviluppo dell'applicazione reale.

Perché...

Quando sviluppi un'applicazione, dovresti controllare ciò che SQLite restituisce alla tua applicazione. Supponiamo che una tabella abbia 3 colonne e utilizzi l'asterisco (*) per recuperare i dati da tutte e tre le colonne.

Cosa succede se qualcuno rimuove una colonna, la tua applicazione non funzionerebbe correttamente, perché presuppone che siano restituite tre colonne e la logica per elaborare quelle tre colonne verrebbe interrotta.

Se qualcuno aggiunge più colonne, la tua applicazione potrebbe funzionare ma ottiene più dati del necessario, il che crea un sovraccarico di I/O tra il database e l'applicazione.

Quindi cerca di evitare di usare l'asterisco (*) come buona abitudine quando usi il SELECT dichiarazione.

In questo tutorial, hai imparato come utilizzare una semplice forma di SQLite SELECT istruzione per interrogare i dati da una singola tabella.