Home > Informatica > Linguaggio SQL: Informatica

Linguaggio SQL: Informatica

linguaggio sql

Linguaggio SQL

Linguaggio SQL: di Giordano Luigi

LE FUNZIONI DI AGGREGAZIONE

 

All’interno del comando Select, possono essere usate altre funzioni che agiscono sui valori contenuti in insiemi di righe della tabella e che per questo prendono il nome di funzioni aggregate.

Vediamo quali sono queste altre funzioni dopo il Select:

  • funzione COUNT, che conta il numero di righe in una tabella

SELECT count(*) as Num_Record

FROM personale;

oppure

SELECT count(nome) as Num_Nomi

FROM personale;

Può anche essere utilizzata con il WHERE e con il predicato DISTINCT

  • funzione SUM, che restituisce la somma di tutti i valori contenuti in una colonna specificata come argomento della funzione (l’attributo utilizzato deve essere di tipo numerico)

SELECT sum(stipendio) as Somma_Stipendi

FROM personale

WHERE livello=5;

L’argomento della funzione sum può anche essere un’espressione numerica

  • funzione AVG, che serve a calcolare la media aritmetica dei valori numerici contenuti in una determinata colonna di una tabella

SELECT avg(stipendio) as Media_Stipendi

FROM personale

WHERE funzione=’operaio’;

In questo modo viene calcolato lo stipendio medio dei dipendenti che svolgono la funzione operaio

  • funzioni MIN e MAX, che restituiscono il valore minimo o massimo tra i valori, numerici o testuali, della colonna di una tabella specificata come argomento della funzione

SELECT min(stipendio) as Stip_Min, max(stipendio) as Stip_Max

FROM personale;

oppure

SELECT min(cognome) as First_Cog, max(cognome) as Last_Nome

FROM personale;

 

ORDINAMENTI E RAGGRUPPAMENTI

 

Nel commando Select, si possono inserire diverse clausole.

L’ordinamento può essere crescente o decrescente, usando rispettivamente le parole chiave ASC e DESC, però, va ricordato che, l’ordinamento crescente è per default.

Vediamo queste clausole:

  • ORDER BY, per ottenere i risultati di un’interrogazione ordinati secondo i valori di una o più colonne.

SELECT cognome, nome, codice_fiscale

FROM alunni

ORDER BY cognome, nome;

  • GROUP BY, per raggruppare un insieme di righe aventi lo stesso valore nelle colonne

SELECT funzione, sum(stipendio), count(*)

FROM personale

GROUP BY funzione;

Con questa clausola, tutti gli attributi che sono inseriti nel select, devono essere inclusi nel suo interno, oppure devono essere argomenti di una funzione di aggregazione.

  • HAVING, con la quale è possibile sottoporre al controllo di una o più condizioni i gruppi contenuti nella clausola group by.

SELECT funzione, avg(stipendio)

FROM personale

GROUP BY funzione

HAVING count(*)>2;

Lista delle funzioni  dei dipendenti con lo stipendio medio per ciascuna funzione, purchè i dipendenti con tale funzione >2.

 

LE CONDIZIONI DI RICERCA

 

Le condizioni di ricerca sono utilizzate insieme alle clausole Where  e Having per determinare i criteri di selezione rispettivamente delle righe e dei raggruppamenti.

Nella scrittura delle condizioni si usano i segni di confronto  =, <, >, <>, <=, >=  e gli operatori and e or preceduti eventualmente da not.

Vediamo quali sono le condizioni di ricerca:

  • BETWEEN, che controlla se un valore è compreso all’interno di un intervallo di valori, inclusi gli estremi.

Visualizza cognome e nome delle persone assunte tra 01/01/1998 e 31/12/2005

SELECT cognome, nome

FROM personale

WHERE data_assunzione BETWEEN #01/01/1998# AND #31/12/2005#;

Anteponendo la clausola not Between non vengono considerati gli elementi all’interno dell’intervallo.

  • IN, che controlla se un valore appartiene ad un insieme specificato di valori, cioè è possibile richiedere le righe che hanno i valori di un attributo compresi in una lista di valori indicati dopo la parola In all’interno della condizione scritta dopo

SELECT *

FROM personale

WHERE provincia IN (‘milano’, ‘varese’, ecc);

Anche la clausola in si può inserire in NOT, per considerare la richiesta opposta.

  • LIKE, che confronta il valore di un attributo di tipo carattere con un modello di stringa che può contenere i caratteri ‘%’ oppure ‘_’.

Like ‘abc%’ à ricerca stringhe che iniziano con cartteri abc

Like ‘%abc’ à ricerca stringhe che finiscono con cartteri abc

Like ‘%abc%’ à ricerca stringhe che contengono cartteri abc

Like ‘_abc’ à ricerca stringhe di 4 caratteri che finiscono abc

Cognome e nome delle persone, il cui cognome inizia con ros

SELECT cognome, nome

FROM personale

WHERE cognome LIKE ‘ros%’;

  • IS NULL, che confronta il valore di una colonna con il valore Null.

Cognome e nome dei dipendenti per i quali è indicata la provincia nella tabella personale.

SELECT cognome, nome

FROM personale

WHERE provincia IS NOT NULL;

Linguaggio SQL di Giordano Luigi

Roberto Sguotti
Roberto Sguotti

Latest posts by Roberto Sguotti (see all)

Lascia un Commento

Il tuo indirizzo email non verrà pubblicato.I campi obbligatori sono evidenziati *

*

quindici − quindici =

X

Pin It on Pinterest

X