Access: Query semplici
Marco Gribaudo
[email protected]
Tipi di Query
•
•
•
•
•
•
•
Selezione
Cancellazione
Modifica (aggiornamento)
Accodamento
Creazione tabella
Campi incrociati
Query speciali
Le Query in Access
• Le query in Access possono essere
espresse tanto graficamente che
utilizzando il linguaggio SQL.
• Si creano dall’apposita pagina di
creazione query.
• Le risposte vengono visualizzate
direttamente sotto forma di tabelle.
Le Query in Access (II)
Le Query in Access (III)
• Con il pulsante a sinistra in alto si
possono alternare 3 visualizzazioni
diverse:
– Struttura: per creare la Query
graficamente.
– SQL: per creare la Query utilizzando SQL.
– Foglio dati: per visualizzare i risultati della
Query.
• Access trasforma automaticamente le
query grafiche in SQL e vice-versa
quando si alternano le due modalità di
visualizzazione.
Le Query in Access (IV)
• Con il pulsante tipo di Query (situato al
centro) si seleziona il tipo di query:
– Selezione, cancellazione, accodamento…
• A seconda del tipo di query selezionato
cambia la maschera d’immissione
sottostante.
• Le Query che devono essere “attivate”
(cancellazione, aggiornamento…),
vengono eseguite utilizzando il pulsante
“!”.
Le Query in Access (V)
• Si possono scegliere le tabelle su cui
opera la query:
– All’inizio, dall’apposito menu’ di selezione.
– Attraverso il pulsante “+” seguito da una
tabellina.
Le query in Access (VI)
• Così come le tabelle, anche le Query
sono contraddistinte da un nome.
• Il nome della Query può essere
utilizzato in maschere, report ed altre
Query per identificare la tabella
generata come risposta
all’interrogazione stessa.
Query di Selezione
• Permettono di “filtrare” una o più tabelle.
• Sono capaci di scegliere solamente
qualche riga, qualche colonna o
qualche combinazione di esse.
• Possono “unire” insieme le informazioni
contenute in una o piu’ tabelle.
Selezionare colonne
• L’operazione più semplice che si può
fare con le query di selezione è quella di
selezionare solamente alcune colonne
di una tabella.
• Normalmente la query non visualizza
alcun campo. Occorre scegliere quali
campi si vuole considerare!
Selezionare colonne (II)
• Per includere una colonna nel risultato
di una Query basta trascinarla nello
spazio sottostante.
• Il simbolo “*” indica tutti i campi di una
tabella: equivale a portare manualmente
tutti i campi di una tabella.
Selezionare colonne (III)
• È possibile cambiare l’ordine di
visualizzazione dei campi nella tabella
risultante, spostando le colonne della
parte sottostante.
• Come vedremo, l’ordine dei campi è
importante in alcune circostanze!
Cambiare nome ai campi
• Ogni campo nella tabella di risposta,
mantiene il nome che aveva nella
tabella originale.
• Si può cambiare il nome del campo
nella tabella risposta scrivendo:
– Nuovonome: nomecampo
Calcolare nuovi campi
• Alcuni campi possono essere calcolati a
partire dal valore di altri campi dei
record considerati.
• In questo caso è sufficiente inserire
nella riga “campo” la formula capace di
calcolare il nuovo valore.
• È meglio assegnare un nuovo nome al
campo risultante, utilizzando la sintassi
vista prima. (nuovonome:
espressione).
Calcolare nuovi campi (II)
• I campi del record di partenza utilizzati
nella formula, devono essere scritti tra
parentesi quadre (comunque Access ci
aiuta facendolo lui se ce ne
dimentichiamo).
• Es.:
– [Peso Loro] : [Peso Netto] + [Tara]
Semplici operazioni sui campi
• Esistono numerose funzionalità per
calcolare i valori di nuovi campi.
• Le più semplici sono le 4 operazioni:
– + somma
– - differenza
– * moltiplicazione
– / divisione
– ( ) le parentesi possono comporre
espressioni
Semplici operazioni (II)
• La somma di due campi di tipo stringa
corrisponde alla loro concatenazione.
• Si possono aggiungere parti di testo
“fisse” scrivendole tra virgolette.
• Es.:
– [Nome] + “ “ + [Cognome]
Selezionare righe
• Spesso non si vogliono visualizzare tutti
i record di una tabella, ma solamente
quelli che rispettano alcune
caratteristiche.
• È possibile specificare delle espressioni
che indicano quali record includere nella
tabella di risposta.
Selezionare per uguaglianza
• La selezione più comune è quella di
considerare solamente i record che
hanno un valore specifico in un campo.
• Questo si effettua immettendo il valore
cercato nella casella “criteri”
corrispondente al campo in questione.
Selezionare tramite confronti
• Si possono cercare valori che siano:
– <> diversi
– > maggiori, >= maggiori o uguali
– < minori, <= minori o uguali
• In questo caso si mette il simbolo sopra
indicato, seguito dal valore con cui si
intende confrontare il campo:
• Es.:
– <> “FISICA”
L’operatore like
• Quando si cercano delle parole in campi
di tipo testo, si può chiedere che questi
“assomiglino” a stringhe fornite.
• In questo caso si usano caratteri Jolly,
come quelli che si adoperano per i nomi
di file nelle operazioni di ricerca su
disco.
L’operatore like (II)
• I caratteri jolly principali sono:
– ? Qualunque carattere singolo
– * Qualunque sequenza di caratteri
– # un numero
• Es.
– like “*matematica*”
• Tutti i campi che contengono la parola
“Matematica” al loro interno.
Comporre criteri di selezione
• Per effettuare filtri più complessi, i criteri
di selezione possono essere composti.
• Si possono comporre per congiunzione
o disgiunzione.
• Si possono negare alcuni criteri.
Le caselle “oppure”
• Quando si stanno cercando dei record
che abbiano un valore o un altro in un
campo, si possono utilizzare le righe
“oppure” nella colonna relativa al
campo in questione.
• Nelle righe oppure, si indicano le varie
alternative.
• Questa è una operazione di
disgiunzione, realizzabile anche
attraverso l’operatore OR.
L’operatore AND
• Se si vuole specificare una
congiunzione di due condizioni si può
utilizzare l’operatore AND.
• Es.:
– >= 5 AND <= 10
• Cerca tutti i record il cui valore del campo a cui
la condizione è associata, è compreso tra 5 e
10.
L’operatore NOT
• Si può negare un criterio, utilizzando la
parola chiave NOT.
• Es.:
– NOT like “*ISTITUZIONI*”
• Tutti i campi che non contengono la parola
“istituzioni”.
Espressioni complesse
• In alcuni casi si possono cercare record dove
alcuni campi abbiano un valore determinato
dal valore di altri campi.
• In questo caso si possono specificare delle
formule analogamente a quanto fatto per i
campi calcolati:
• Es.:
– > [Esami Totali] – 3
• Nella colonna relativa al campo [Esami sostenuti] ricerca
tutti gli studenti a cui mancano meno di 3 esami.
Ordinare i risultati
• I risultati delle Query vengono
presentati in modo disordinato.
• Si può chiedere che i dati vengano
ordinati, selezionando “crescente” o
“decrescente” nella riga “Ordinamento”.
• Se vi sono più campi in cui è attivato un
ordinamento, la priorità è da sinistra a
destra: tutti quelli che hanno uguale i
campi più a sinistra vengono ordinati in
base ai campi più a destra.
Selezionare i campi in uscita
• Alcuni campi possono servire
solamente per effettuarci sopra dei
confronti e non è necessario che siano
visualizzati nella risposta in uscita.
• La loro visualizzazione può quindi
essere soppressa togliendo il segno di
spunta dalla casella “mostra”.
Ordinare rispetto ad altri
campi
• L’utilizzo di campi nascosti può essere
sfruttato per ordinare in modo diverso
da quello naturale da sinistra a destra.
• Si può ripetere due volte una medesima
colonna. Una la si rende invisibile e la si
usa solamente per l’ordinamento, l’altra
la si utilizza per la visualizzazione.
Raggruppare i rusltati
• Filtrando alcune colonne, può
succedere che molte righe abbiano
esattamente gli stessi valori negli stessi
campi.
• Possiamo allora voler chiedere di avere
un unico rappresentante per riga, ed
eventualmente di effettuare alcuni
calcoli sui campi diversi che hanno i
record che vengono raggruppati.
Raggruppare i ristultati (II)
• Per attivare i raggruppamenti occorre
fare click sul simbolo “Totali”
• In questo caso, compare una nuova riga
alla maschera di creazione Query,
denominata “Formula”.
Un solo rappresentante per
tipo
• Selezionando la voce
“Raggruppemento” nella colonna Totali,
si sceglie di avere un unico
rappresentante per ogni record avente
uguali tutti i campi visualizzati.
• Può essere adoperato ad esempio per
visualizzare l’elenco dei corsi o l’elenco
degli studenti a partire da una tabella
che contenga un record per ogni
studente ed ogni corso che frequenta.
Calcolare i totali
• Se invece di raggruppamento si
selezionano altre voci, allora vuole dire
che si esegue un calcolo su quel
campo.
• Il calcolo è un calcolo effettuato su più
record (la loro somma, la loro media…)
• I record coinvolti nel calcolo sono quelli
che hanno uguali i campi che
possiedono come formula
“raggruppamento”
Calcolare i totali (II)
• Se non ci sono campi con formule di
raggruppamento, allora il risultato della
Query è un unico record, contenente i
risultati delle varie formule inserite.
• Se vi sono sia formule che
raggruppamenti, le formule vengono
applicate sui campi selezionati,
appartenenti ai record che hanno uguali
i campi “raggruppati”.
Calcolare i totali (III)
• Le formule utilizzabili sono:
– Conteggio: conta quanti record vengono
raggruppati
– Massimo, Minimo: prendono
rispettivamente i campi di valore massimo
e minimo.
– Primo, Ultimo: assumono il valore
rispettivamente del primo e dell’ultimo
record raggruppati.
Calcolare i totali (IV)
• Le formule utilizzabili sono:
– Somma: somma i valori di tutti i campi
raggruppati.
– Media: calcola la media aritmetica dei dati
raggruppati.
– Var e DevSt: calcolano varianza e
deviazione standard dei dati raggruppati.
Query basate su query
• Invece che tabelle, si possono
selezionare altre Query come sorgenti
di dati.
• In questo modo si possono effettuare
più facilmente domande più complesse.
• Es.:
– Calcolare la media pesata dei voti: prima si
calcolano le somme prodotti voti*crediti e
dei crediti. Quindi si dividono i due valroi.
Query parametriche
• In molti casi si vuole ripetere in cui
cambia solamente i valori che uno o più
campi devono assumere.
• In questo caso si può ricorrere
all’utilizzo di Query parametriche.
• Si inseriscono alcuni parametri che
vengono richiesti di volta in volta
all’utente prima di effettuare il calcolo.
Aggiungere i parametri
• Ogni campo che viene specificato e non
appartiene direttamente al record viene
considerato un parametro.
• Per essere più puliti è però possibile
specificare l’elenco dei parametri che
influenzano la query da un apposito
menù:
– Query -> Parametri..
• In questo caso si può anche specificare
il tipo di dati assegnato ai parametri.