Informatica - l'odinamento di relazioni
Anteprima
ESTRATTO DOCUMENTO
6. Ordinamento di relazioni
6.1 Forma generale
La forma generale di una SELECT che deve ordinare uno o piu' attributi prima di restituire la
relazione risultato e' data da:
SELECT . . . . FROM . . . . .
ORDER BY nome_col1 [DESC] [,nome_col2, . . .];
Come si vede dalla forma generale, di seguito alla parola ORDER BY, possono essere specificate
una o piu' colonne su cui effettuare l'ordinamento. Il criterio di ordinamento e’ crescente ma e’
possibile modificarlo con la specificazione della clausola DESC.
Prima di passare agli esempi, una precisazione. Abbiamo visto che alcune tuple possono presentarsi
con alcuni valori nulli. Si tenga presente che, in caso di ordinamento, verranno riportate per prime
le tuple contenenti i valori nulli (ovviamente nelle colonne specificate dopo ORDER BY), poi, a
seconda del criterio di ordinamento, tutti gli altri valori. Cosi', se per esempio, si chiede un
ordinamento di un attributo contenente valori numerici in modo crescente, verranno riportate per
prime le tuple con gli scalari pari a NULL, poi i valori negativi, i valori uguali a zero e infine i dati
maggiori di zero.
La prima query restituisce i nomi e i codici delle case costruttrici, ordinati alfabeticamente secondo
il nome della casa. Il suo testo ed il risultato ottenuto, sono riportati di seguito.
SELECT casa, nocasa
FROM marche
ORDER BY casa; [17]
CASA NOCASA
------------ ------
citroen 0
de tomaso 1
ferrari 2
fiat 3
tretre 4
6.2 Gli ordinamenti multipli
La seconda query costituisce un esempio relativo all’ordinamento su due attributi: sul primo
attributo l'ordinamento e' quello normale, mentre per il secondo l'ordinamento e' decrescente. Si
nota infatti come, nel caso di modelli con la stessa cilindrata (questo e’ il caso dei tre modelli cx e
dei due modelli della ferrari), le tuple sono disposte secondo l’ordine decrescente del prezzo (grazie
alla specificazione della clausola DESC di seguito all’attributo LIT).
Il testo ed il risultato corrispondente sono riportati di seguito.
SELECT nome, cc, lit
FROM modello
ORDER BY cc, lit DESC; [18]
I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher valeria0186 di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università La Sapienza - Uniroma1 o del prof Grande Antonio.
Acquista con carta o conto PayPal
Scarica il file tutte le volte che vuoi
Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato