L'operatore MIN in Sql

L'operatore Min del linguaggio SQL individua il valore minimo in una colonna della tabella tramite una query.

SELECT MIN (attributo)
FROM tabella

E' uno degli operatori aggregati del linguaggio SQL.

L'operatore Min genera un valore sintetico e non una tabella.

Nota. Si può usare l'operatore Min su qualsiasi tipo di dato ordinabile, sia numerico che alfanumerico. Nel caso delle stringhe l'operatore confronta i valori in base all'ordinamento alfabetico crescente da A a Z.

    Un esempio pratico

    Ho una tabella chiamata Studenti composta da quattro colonne (attributi).

    una tabella di esempio

    Per cercare il valore minimo dell'età degli studenti, digito un'interrogazione SELECT con l'operatore Min sull'attributo Età

    SELECT Min (Età)
    FROM Studenti

    La query trova il valore minimo nella colonna Età.

    18

    Esempio 2

    Posso usare l'operatore MIN anche in colonne alfanumeriche.

    Ad esempio la colonna Nome.

    SELECT MIN (Nome)
    FROM Studenti

    L'operatore cerca il valore più basso seguendo l'ordinamento alfabetico da A a Z.

    Il risultato finale è il valore

    Giovanni

    Restituisce Giovanni perché inizia con la lettera Giu, mentre gli altri nomi iniziano per Gio, M e P.

    Esempio 3

    Per trovare le righe delle persone che hanno l'età minima nella tabella, devo scrivere una select nidificata.

    SELECT * FROM Studenti
    WHERE Età = ( SELECT min(Età) FROM Studenti )

    Nella select interna (verde) trovo il valore minimo della colonna Età.

    Nella select esterna cerco le righe che hanno il valore minimo nella colonna Età.

    Il linguaggio SQL esegue la select interna e scrive il risultato (18) nella select esterna.

    SELECT * FROM Studenti
    WHERE Età = ( 18 )

    Poi esegue la select esterna.

    Il risultato è

    i dati della riga con il valore minimo

    Il risultato è una tabella perché la select esterna seleziona le righe della tabella in base alla condizione (Età=18) definita dalla select interna.

    Nota. E' sbagliato scrivere l'interrogazione SELECT cognome, min(età) FROM Studenti perché l'operatore aggregato Min genera un valore di sintesi (valore aggregato) e non seleziona le righe della tabella.

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    SQL