DISI Dipartimento di Informatica e Scienze dell'Informazione

Query di selezione

Una query di selezione č il tipo pių comune di query: recupera i dati provenienti da una o pių tabelle e visualizza i risultati in un'unica tabella (foglio dati). Una query di selezione consente inoltre di raggruppare dei record e calcolare somme, medie, conteggi e altri tipi di totali, come vedremo in seguito.

Ricordiamo che una query di selezione ha una sintassi simile a quella seguente

select elenco attributi
from elenco tabelle
where condizione


Il procedimento per creare una query di selezione è analogo a quello appena visto per la proiezione. Quindi, selezionate il pulsante Query e poi la voce Crea una query in visualizzazione struttura. Scegliete le tabelle sulle quali agire e l'insieme degli attributi che volete estrarre dalla base di dati.

In aggiunta alla query precedente ora dobbiamo anche specificare una condizione di selezione.

Riprendiamo l'esempio dei docenti e supponiamo di voler estrarre tutti i docenti che appartengono al DIPTERIS. Per fare questo ci servono le tabelle docenti e dipartimenti che hanno la seguente struttura:

docenti(id_doc,nome,cognome,home,orario_ric,email,telefono,codicedip)

dipartimenti(codicedip,dipartimento,http,indirizzo,telefono,fax,cap)


e sono legate mediante l'attributo codicedip, chiave primaria in dipartimenti, chiave esterna in docenti

Selezionando gli attributi nome, cognome, dipartimento dalle due tabelle si ottiene


Query di selezione


Nella riga Mostra (Show) la casellina selezionata     significa che l'attributo dovrà essere visualizzato nella tabella del risultato. Se la casellina non è selezionata (ad esempio nel caso dell'attributo dipartimento), l'attributo verrà usato per l'interrogazione ma non sarè visualizzato nella tabella del risultato.

La riga Criteri (Criteria) permette di specificare la condizione di selezione. In questo caso particolare, scrivendo - tra virgolette - la parola DIPTERIS, si chiede ad Access di visualizzare il "nome e il cognome dei docenti che appartengono al DIPTERIS".

*** se anzichè usare un attributo di tipo Testo/Text, scegliete un attributo numerico non dovete usare le virgolette; nel caso di attributo di tipo Data/Date dovete scrivere la data tra # ... #

Il risultato di questa interrogazione è quello seguente


Risultato della query di selezione


Osservate che, rispetto al caso precedente, sono stati selezionati solo quei docenti che appartengono al DIPTERIS.

Il codice SQL che Access genera per l'interrogazione è un po' più complesso di quello che abbiamo visto a lezione e fa uso dell'operatore di join


Codice SQL della query di selezione


Di fatto, viene creato il join delle due tabelle docenti e dipartimenti le cui ennuple (le righe) vengono combinate sulla base dei valori dei due attributi codicedip che creano il legame tra esse. Dopo aver fatto il join, vengono selezionate solo le ennuple (le coppie nome, cognome) in cui il nome del dipartimento è uguale a DIPTERIS.



Non è facilissimo, ma provate a fare delle operazioni di selezione dalla vostra base di dati e poi passate prossime istruzioni ...

Torna all'indice



last update >>>