Nel capitolo precedente abbiamo usato INSERT per inserire dei dati nella nostra tabella users.
Useremo ora SELECT per interrogare (query) il database.
L'istruzione SELECT ha questo formato generale:
Quindi abbiamo:
Prendendo ad esempio la tabella degli utenti:
selezioniamo le due colonne segnate in azzurro, andando a mettere una condizione sulla colonna segnata in giallo:
la query chiede di selezionare le colonne enabled e full_name dalla tabella users, prendendo solo le righe che hanno id minore di 2; questo dovrebbe essere il risultato:
Notiamo che la colonna id non è stata selezionata, anche se viene usata nelle condizioni del WHERE.
Nella clausola WHERE possiamo mettere una o più condizioni utilizzando gli operatori di confronto:
Operatore | Descrizione |
---|---|
< |
minore di |
> |
maggiore di |
<= |
minore o uguale di |
>= |
maggiore o uguale di |
= |
uguale a |
<> or != |
diverso da |
Le conzioni potranno essere concatenate grazie agli operatori logici AND, OR e NOT... ad esempio:
SELECT * FROM users WHERE full_name = 'Harry Potter' OR enabled = 'false';
darà come risultato:
Esiste anche un operatore molto interessante: LIKE, che permette di filtrare le stringhe che non sono esattamente uguali a quella cercata, ma le assomigliano, ad esempio con la query:
SELECT * FROM users WHERE full_name LIKE '%Smith';
possiamo selezionare le righe in la colonna full_name termina con Smith. % è un carattere jolly (wildcard) che significa "qualsiasi carattere". Ecco quindi il risultato:
WHERE permette di filtrare i dati, mentre con ORDER BY possiamo stabilire in che ordine devono essere visualizzati. Pensiamo ad esempio alla pagina di un sito web che deve mostrare i post di un blog a partire dai più recenti.
Vediamo ad esempio come ordinare la tabella degli utenti in base alla colonna enabled:
Nell'ordinamento dei booleani false (0) viene prima di true (1)... proviamo a fare la stessa cosa ma ordine decrescente (dal più grande al più piccolo):
E' possibile ordinare le righe anche in base a più di una colonna:
In questo caso le righe vengono prima ordinate in base alla colonna enabled (discendente), dopodiché quelle che hanno lo stesso valore per enabled vengono ordinate in base alla colonna id (discendente).
Per ogni esercizio scrivi una query che restituisca:
CFP CNOS-FAP DON BOSCO - via XIII Martiri, 86 - 30027 San Donà di Piave (VE) - tel. 0421 338 980 - Organismo di Formazione accreditato dalla Regione del Veneto