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 nelFROM
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.