sei sul sito di Giovanni Fraterno

ATTENZIONE che, per importanza sociale, subito dopo il legame affettivo che si instaura all'interno di una famiglia, viene quello che si instaura fra il professore e i suoi alunni, e che turbare entrambi i rapporti può essere carico di conseguenze (sabato 31° gennaio 2004, il professore).
7) La ricerca dei dati con l’SQL
( 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 )

Per porre interrogazioni al database, con il fine di ritrovare le informazioni che interessano, occorre digitare il comando SELECT.

 

Il risultato è la generazione di una nuova tabella, filtrata attraverso un criterio di ricerca insito nell’interrogazione formulata.

 

La struttura generale del comando SELECT è composta dalla stessa istruzione accompagnata dalle clausole FROM e WHERE, ovvero:

 

SELECT  …….

FROM  ……..

WHERE  …….

 

Dopo SELECT vengono indicati i nomi delle colonne, nel caso fosse necessario elencarle tutte, basta digitare solo il carattere asterisco, ovvero: *.

 

Dopo FROM vengono indicati i nomi delle tabelle su cui deve operare il comando SELECT.

 

La clausola WHERE infine specifica la condizione che deve essere soddisfatta dai campi, si badi che possono comparire anche più condizioni combinate utilizzando gli operatori logici AND, OR e NOT.

 

AND combina una coppia o più criteri che devono essere rispettati tutti contemporaneamente.

 

OR combina ugualmente una coppia o più criteri con uno almeno che deve essere soddisfatto.

 

NOT invece specifica semplicemente un criterio che esclude delle istanze dai risultati.

 

Grazie ad esempio al successivo costrutto SQL vengono selezionati gli studenti della provincia di Milano nati dopo il 25/09/1986:

 

SELECT Cognome, Nome, CodFisc, Matricola

FROM Studenti

WHERE (Prov =’Milano’) AND (Nascita > ’25/09/1986’)

 

Il comando SELECT possiede il predicato DISTINCT.

 

Se viene specificato il predicato DISTINCT le righe duplicate nella tabella risultante vengono ridotte a una.

 

Per esempio, se si desidera ottenere l’elenco di tutte le Città di provenienza degli studenti, specificando una sola volta il nome della Città anche quando è riferita a più studenti, si deve usare la clausola DISTINCT prima dell’indicazione dell’attributo, ovvero digitare:

 

SELECT DISTINCT Citta

FROM Studenti

 

Il comando SELECT senza DISTINCT produrrebbe l’elenco di tutte le città ripetendole tante volte per quanti sono gli studenti con la stessa residenza.

 

Con il comando SELECT si può anche richiedere il calcolo di espressioni sugli attributi presenti nella tabella.

 

La tabella risultante contiene una colonna aggiuntiva con i risultati del calcolo per ogni riga.

 

Questa nuova colonna viene intestata con una descrizione opportuna utilizzando la parola chiave AS.

 

L’esempio successivo produce un elenco degli studenti, con nome, cognome, il voto attuale e quali sarebbero i voti aumentati di un punto, senza modifica dei voti stessi nelle righe della tabella:

 

SELECT Cognome, Nome, Voto AS Attuale,Voto +1 AS Nuovo

FROM Studenti

 

All’interno del comando SELECT possono essere usate funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della tabella, funzioni che per questo motivo si chiamano funzioni di aggregazione.

 

La funzione ad esempio COUNT conta il numero di righe presenti in una tabella.

 

La sintassi del linguaggio SQL richiede di specificare come argomento della funzione il nome di un attributo oppure il carattere asterisco.

 

Nel primo caso non vengono conteggiate le righe che hanno valore nullo nella colonna dell’attributo specificato.

 

Nel secondo caso, indicando l’asterisco, la funzione COUNT, con tra parentesi asterisco, calcola il numero delle righe della tabella, incluse quelle con campi di tipo nullo.

 

In sostanza la funzione COUNT asterisco serve per ottenere la cardinalità di una relazione.

 

La funzione calcola solo il numero delle righe, indipendentemente dai valori in esse memorizzati.

 

La  sintassi con l’asterisco è:

 

SELECT COUNT (*)

FROM Studenti

WHERE Prov = ‘MI’

 

Nel comando SELECT si può inserire la clausola ORDER BY per ottenere i risultati di un’interrogazione ordinati secondo i valori contenuti in una o più colonne, tra quelle elencate accanto a SELECT.

 

L’ordinamento può essere crescente oppure decrescente.

 

I due tipi di ordinamento sono specificati usando rispettivamente le parole chiave ASC per crescente e DESC per decrescente.

 

L’ordinamento è crescente per default.

 

I due successivi esempi producono in output due elenchi alfabetici dei dipendenti, con cognome, nome, codice fiscale e data di nascita:

 

SELECT Cognome, Nome, CodFisc, Nascita

FROM Dipendenti

ORDER BY Cognome, Nome

 

SELECT Cognome, Nome, CodFisc, Nascita

FROM Dipendenti

ORDER BY Cognome DESC, Nome



utenti in questo momento connessi alla rete di siti web di Giovanni Fraterno: