Structured Query Language: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Annullata la modifica 43443859 di 82.105.153.243 (discussione) |
|||
Riga 95:
SELECT [ ALL | DISTINCT | TOP ] lista_elementi_selezione
FROM lista_riferimenti_tabella
[ WHERE espressione_condizionale ]
[ GROUP BY lista_colonne HAVING Condizione ]
[ ORDER BY lista_colonne ];
</source>
dove ''lista_elem_selezione'' è l'elenco dei campi da estrarre (separati tra loro con una virgola), ''lista_riferimenti_tabella'' è l'elenco delle tabelle da cui estrarre i dati, ''espressione_condizionale'' rappresenta l'elenco delle condizioni, ovvero dei requisiti che un campo deve rispettare per poter essere prelevato dall' interrogazione (le condizioni sono specificate mediante gli operatori di confronto, connettori logici e comparatori come ''between'', ''in'', ''like'', ''is null''); ''lista_colonne'' è la colonna o le colonne che devono essere prese come riferimento per l'ordinamento dei dati in uscita.
Di default il comando ''select'' agisce con il metodo ''all'' ma in qualcaso non si voglia ottenere come risultato della query una ripetizione di righe, si specifica il metodo ''distinct'', ''top'' limita il numero delle righe fornite TOP 10 prende le prime 10 righe della mia tabella.<br />
Un esempio è il seguente:
<source lang="sql">
SELECT DISTINCT cognome, nome, citta_residenza
FROM utenti
WHERE anni > = 18
ORDER BY cognome
</source>
(La clausola ORDER BY serve per ordinare, l'ordinamento può essere basato anche su più di un campo).
Questa ''query'' estrae l'elenco di tutti gli utenti maggiorenni ordinando l'output in base al cognome.
La definizione di ''select'' è comunque molto più ampia, prevede molte altre opzioni ma in linea di massima con queste opzioni si compongono la maggior parte delle interrogazioni.
<source lang="sql">
SELECT DISTINCT *
FROM utenti
</source>
l'asterisco permette di includere nella selezione tutte le colonne della tabella ''utenti''
Con le select è possibile anche eseguire dei calcoli:
<source lang="sql">
Select DISTINCT cod_art, prezzo_unit*giacenza AS Totale, giacenza*ingombro AS TotIngombro;
FROM articoli
| |||