Access: Query semplici
Marco [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.