Ominide 33 punti

Ordinamenti


ORDER BY, serve per ottenere i risultati di un’interrogazione ordinati in funzione di valori contenuti in una o più colonne individuate dal SELECT. Di default l’ordinamento è crescente (ASC), volendo un risultato diverso bisogna usare la parola chiave DESC. I valori Null sono posizionati ad inizio di ordinamenti crescenti, e viceversa per ordinamenti decrescenti. L’Order By va posizionato come ultimo elemento di un comando SELECT.

Es.: definire l’elenco alfabetico dei dipendenti, con cognome, nome e residenza:
SELECT Cognome, Nome, Residenza
FROM Impiegati
ORDER BY Cognome, Nome;

Nell'ordinamento, se esiste un ugual cognome, si ordina in funzione del nome; inoltre se l’ordinamento con più attributi, richiede un ordinamento diverso, basta specificare con il tipo ASC/DESC.

Es.: Individuare elenco dipendenti in ordine decrescente di stipendio, e a parità di stipendio, in ordine crescente di cognome:
SELECT Cognome, Stipendio
FROM Impiegati
ORDER BY Stipendio DESC, Cognome [ASC];

4)

Raggruppamenti


GROUP BY permette di raggruppare un insieme di righe aventi lo stesso valore nelle colonne indicate nella clausola.

Es.: SELECT Dipartimento, COUNT (ID) AS Dipendenti, SUM(Stipendio) AS Stipendi
FROM Impiegati
GROUP BY Dipartimento;

usando la clausola HAVING, nel fare il raggruppamento, si possono inserire ulteriori condizioni da applicare all'elemento che fa da aggregatore (SUM, AVG, COUNT, MIN,MAX).

Es.: Volendo conoscere i dipartimenti dove lavorano i dipendenti, con il loro numero e la somma dei loro stipendi, dove però il numero di dipendenti è >= 2:
SELECT Dipartimenti.Descrizione,SUM(Stipendio) AS STIPENDI, COUNT(*) AS DIPENDENTI
FROM Impiegati, Dipartimenti
WHERE Impiegati.Dipartimento=Dipartimenti.Codice
GROUP BY Descrizione
HAVING COUNT(*)>=2;

Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Potrebbe Interessarti
Registrati via email