L istruzione SELECT di SQL

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "L istruzione SELECT di SQL"

Transcript

1 L istruzione SELECT di SQL Sintassi dell istruzione SELECT... 2 Clausola WHERE... 3 Clausola ORDER BY... 5 Le funzioni di aggregazione... 6 Raggruppamenti... 9 Inner Join (giunzione naturale o join interno)

2 Sintassi dell istruzione SELECT Sicuramente la prima e la più utilizzata tra le istruzioni del linguaggio SQL. Serve letteralmente a selezionare un gruppo di valori da un insieme di tabelle, specificando opzionalmente dei criteri di selezione, di raggruppamento e di ordinamento. La sintassi generale dell'istruzione è: SELECT <campi> FROM <origini> [ WHERE <criteri> ] [ GROUP BY <campi> ] [ HAVING <criteri> ] [ ORDER BY <criteri di ordinamento> ] Delle sei righe indicate soltanto le prime due sono obbligatorie; le successive rappresentano ulteriori clausole oppure operatori SQL che vedremo in seguito. Nella sua forma più semplice si compone del nome dei campi da scegliere e dal nome di una tabella come origine: SELECT id, nome, cognome FROM dipendenti; L'esempio estrae i campi id, nome e cognome dalla tabella di nome dipendenti; nessun filtro sarà operato ma saranno quindi restituite tutte le righe presenti all'interno della tabella indicata. Se dovesse essere necessario estrarre tutti i campi dall'origine indicata può essere utilizzato il simbolo * come segue: SELECT * FROM dipendenti; I dati saranno restituiti in forma tabellare (quindi a righe e colonne) ed i nomi dei campi saranno quelli originali recuperati dalla tabella di origine. In caso di necessità sarà possibile modificare il nome dei singoli campi restituiti utilizzando l'operatore AS: SELECT id AS id_cliente, nome AS nome_cliente, cognome AS cognome_cliente FROM clienti; La riga precedente estrae i tre campi id, nome e cognome e li assegna ai campi di nome id_cliente, nome_cliente e cognome_cliente. Sebbene sia possibile inserire degli spazi nei nomi dei campi si consiglia di evitarlo sia per diminuire la probabilità di errori sia perché non tutti i database lo consentono. Esistono due sintassi molto comuni per racchiudere i nomi dei campi quando questi contengono degli spazi o altri simboli che potrebbero arrecare disturbo all'elaborazione. I due simboli sono le parentesi quadre [ ] ed il carattere di accento `. Quando un campo può riferirsi a più di una tabella dell'origine (vedremo subito dopo come specificare più di un'origine), è necessario fornire il nome dell'origine cui il campo si riferisce, ma è comunque possibile farlo anche quando si tratta di una sola origine: SELECT dipendenti.id, dipendenti.nome, dipendenti.cognome FROM dipendenti; Tutte le espressioni che abbiamo visto finora riportavano i campi di tutti i record di una sola tabella nell'ordine casuale con cui le righe vengono estratte. Utilizzando la clausola WHERE che vedremo in seguito è possibile filtrare la scelta dei record da estrarre. La clausola ORDER BY invece consente di ordinare i risultati. 2

3 Abbiamo lasciato per ultimo un operatore particolare utilizzabile nelle istruzioni di selezione: si tratta di DISTINCT, dedicato a filtrare le righe ripetute. La sua sintassi è molto semplice: SELECT DISTINCT <campi> FROM <origini>; Essendo posto prima dei campi, la sua azione è valida su tutti i campi; saranno infatti eliminate le righe dei risultati completamente uguali tra loro. Vediamo un esempio per semplificare la comprensione del problema: SELECT DISTINCT nome FROM dipendenti; Restituirà tutti i nominativi unici dei dipendenti; saranno ovvero esclusi i nomi duplicati. Dipendenti con nome uguale e cognome differente saranno comunque annoverati nell'unica riga con il loro nome. SELECT DISTINCT nome, cognome FROM dipendenti; Tuttavia in questo caso, se due dipendenti avessero lo stesso nome, sarebbero comunque riportati entrambi perché l'esclusione dei duplicati agisce soltanto sulle righe intere dei risultati e non sui dati da recuperare dall'origine. Sarebbero allora esclusi soltanto quei dipendenti con lo stesso nome e lo stesso cognome, caso assai difficile in una singola azienda. Clausola WHERE Sebbene si tratti di una clausola anziché di un'istruzione ed essendo utilizzata da quasi tutte le altre istruzioni si è preferito trattarla a parte. La sua unica finalità è quella di limitare le selezioni ed includere solo le righe che corrispondono ai criteri specificati. Il suo utilizzo generale è: WHERE <campo> <predicato> <valori> Campo naturalmente si riferisce al nome di un campo presente in una delle origini, predicato si riferisce ai simboli che stabiliscono una regola ai valori specificati di seguito. Il predicato si riferisce al contenuto del campo e può essere uno dei seguenti: = è uguale al valore < è minore del valore > è maggiore del valore <= è minore oppure uguale al valore >= è maggiore oppure uguale al valore <> è differente dal valore LIKE è similare al valore NOT LIKE non è similare al valore BETWEEN è compreso tra i due valori specificato a seguito NOT BETWEEN non è compreso tra i due valori IS NULL è il valore NULL IS NOT NULL non è il valore NULL IN corrisponde ad uno dei valori specificati a seguito NOT IN non corrisponde ad alcuno dei valori specificati a seguito Prima di vedere il suo utilizzo è necessario chiarire tre semplici concetti: 3

4 1. I campi numerici vanno testati con valori numerici come 1, 2, 3 o I campi di testo vanno verificati con valori di testo, quindi stringhe racchiuse dal carattere di apostrofo come 'pippo', 'ciccio' o 'casa mia'. La regola comune stabilisce che le ricerche su campi di testo sono effettuate ignorando le differenze tra maiuscolo e minuscolo (case insensitive). 3. Gli altri tipi di campo (data, caratteri unicode, o altro genere) vanno verificati con i simboli decisi dal singolo driver del database. L'utilizzo dell'operatore WHERE è relativamente semplice: SELECT nome, cognome FROM dipendenti WHERE id > 2; Restituirà due campi di quelle righe in cui il campo ID contiene un valore superiore a 2. Come si nota, il campo specificato nell'operatore WHERE non deve necessariamente essere presente nell'elenco dei campi restituiti. SELECT nome, cognome FROM dipendenti WHERE id BETWEEN 2 AND 4; Restituirà i due campi di quelle righe in cui il campo ID contiene un valore compreso tra 2 e 4. SELECT nome, cognome FROM dipendenti WHERE ruolo LIKE 'direttore%'; Restituirà quelle righe in cui il valore del campo RUOLO inizia per DIRETTORE. Il carattere di percentuale % corrisponde al carattere jolly standard che indica qualsiasi corrispondenza al suo posto. Il carattere % può essere utilizzato soltanto come prefisso o come suffisso o entrambe le cose; non va invece utilizzato al centro di una frase: Alcune versioni del driver per il database Access utilizzano i caratteri jolly standard del DOS, cioè * al posto di % per indicare una combinazione composta da qualsiasi carattere. Abbiamo sinora visto solo selezioni formate da un'unica condizione di vincolo ma naturalmente è possibile combinare più condizioni utilizzando gli appositi operatori booleani: AND OR Specifica che il criterio precedente e quello successivo debbano restituire risultato Vero Specifica che almeno uno dei due criteri debba restituire risultato Vero Altresì ogni condizione può essere invertita utilizzando l'operatore NOT. Vediamone il funzionamento pratico: SELECT * FROM dipendenti WHERE nome='francesco' AND ruolo='direttore'; Restituirà tutti i campi della tabella dipendenti in cui il nome dell'impiegato è Francesco ed il suo ruolo è direttore. Sono esclusi tutti gli altri Francesco, tutti gli altri direttori e tutti quei dipendenti che presentano nome o ruolo differenti. SELECT * FROM dipendenti WHERE id=0 OR id > 10; Restituirà tutti i campi della tabella dipendenti in cui il campo ID contiene valore 0 oppure un valore superiore a 10. Sono quindi esclusi tutti quelli che vanno da 1 a 9 (supposto naturalmente che ID sia un campo intero). Complicando un attimo le cose otteniamo: 4

5 SELECT * FROM dipendenti WHERE id=0 OR id=1 OR id > 10; Restituirà tutte le righe in cui il campo ID sia uguale a 0 oppure a 1 oppure sia maggiore di 10. Nel caso in cui appaiano i due operatori AND e OR nella stessa condizione, l'operatore AND avrà la precedenza su OR. È possibile estrarre le righe in cui un determinato campo sia NULL usando l'operatore IS NULL come mostrato: SELECT * FROM dipendenti WHERE id IS NULL; Restituirà soltanto quelle righe in cui il campo ID sia Null. Viceversa: SELECT * FROM dipendenti WHERE id IS NOT NULL; Riporterà tutte quelle righe in cui ID non sia Null. Abbiamo già detto che alcuni database supportano anche il predicato IN ed il suo contrario NOT IN; questi possono essere usati in due maniere: SELECT * FROM dipendenti WHERE id IN (1, 3, 5, 7, 9); Interrogazione restituirà tutte quelle righe in cui il campo ID contiene i valori 1 o 3 o 5 o 7 o 9. Corrisponde esattamente a: SELECT * FROM dipendenti WHERE id=1 OR id=3 OR id=5 OR id=7 OR id=9; Clausola ORDER BY Uno tra i più semplici operatori del linguaggio SQL, ORDER BY consente di ordinare i risultati secondo certi criteri. La sua sintassi generale è: ORDER BY <campo> [ ASC DESC ] Si applica generalmente alle selezioni, per ottenere un elenco di righe già ordinato per ciascuno dei campi indicati. L'ordinamento è possibile sia in maniera ascendente (ASC), cioè dalla A alla Z, che rappresenta il valore di default, se omesso, che in maniera discendente (DESC) che rappresenta l'ordine contrario, cioè da Z verso A. L'ordine dei numeri rispetto i caratteri alfabetici dipende dall'implementazione del singolo driver; solitamente su ambiente Windows i numeri vengono prima delle lettere. L'utilizzo dell'operatore ORDER BY è molto semplice: SELECT * FROM dipendenti ORDER BY id; Ordinerà le righe restituite in ordine crescente (ascendente) del campo ID. SELECT nome, cognome FROM dipendenti ORDER BY nome; Tutti i nomi saranno ordinati in maniera ascendente, mentre i cognomi saranno lasciati nel loro ordine casuale. È possibile ordinare i risultati anche per più campi, al fine di ottenere un insieme di righe correttamente ordinato. 5

6 SELECT nome, cognome FROM dipendenti ORDER BY nome, cognome; I valori Null nell'ordinamento sono considerati come il valore più basso, cioè in caso di ordinamento ascendente sono presentati per primi, mentre in caso di ordinamento discendente sono ordinati per ultimi. Le funzioni di aggregazione Il termine funzione di aggregazione indica quelle funzioni che elaborano un insieme di righe ma restituiscono sempre un risultato; esempi di queste funzioni sono quelle che effettuano la somma dei valori di un campo, il conteggio di righe di un certo tipo, il valore massimo presente nelle righe recuperate. Il loro risultato è sempre uno, indipendentemente dal numero di righe prese in esame. Un'eccezione a questa regola è dettata dall'uso della clausola GROUP BY, che vedremo in seguito per effettuare delle spaccature ed elaborare l'aggregazione sui singoli gruppi. Sebbene ciascun database possegga le proprie funzioni di aggregazione, ve ne sono alcune così comuni da poter essere considerate ormai uno standard, ed una deficienza per un database che non le supporta. Osserviamo la sintassi generale: <funzione> (<predicato> <campo> ) Esse si applicano all'istruzione SELECT e possono apparire nell'elenco dei campi da mostrare (è così nella maggior parte dei casi) oppure nelle clausole ORDER BY ed HAVING che vedremo in seguito. Essendo inoltre funzioni e non campi, non possiedono un nome di campo reale, quindi solitamente i risultati vengono rinominati con l'operatore AS trattato nelle lezioni precedenti. Prima di vedere le funzioni più comuni in esame presentiamo un esempio generale: SELECT <funzione> (<campo>) AS <nome> FROM <tabella> WHERE <criteri>; Questa istruzione effettuerebbe il calcolo della funzione, applicata sul campo indicato, per la tabella specificata e per le righe incluse nei criteri; il risultato della funzione sarebbe infine presentato in un campo con il nuovo nome indicato a seguito dell'operatore AS. La definizione precedente a quest'ultima includeva anche un predicato, posto immediatamente prima del campo per cui effettuare il calcolo. Tale predicato può essere: ALL (Valore predefinito se omesso) Indica di prendere tutte le righe in esame estratte dalla condizione WHERE DISTINCT Indica di escludere le righe con valori del campo specificato ripetuti e quindi prenderà in esame sempre e soltanto una riga. Esistono cinque funzioni standard di aggregazione, dall'uso molto semplice e, come già detto, presenti in quasi tutti i database. La prima di queste funzioni è sicuramente COUNT, che effettua il conteggio delle righe estratte e subito vediamo un esempio molto elementare: SELECT COUNT(nome) AS conteggio FROM dipendenti; Restituisce il numero di righe con valori non NULL nella colonna nome presenti all'interno dell'intera tabella dipendenti senza applicare altre esclusioni. La funzione opererà sul campo nome e 6

7 quindi conterà quanti nomi sono presenti all'interno della tabella dipendenti; i valori Null saranno esclusi. Otterremmo lo stesso risultato con la seguente istruzione: SELECT COUNT(ALL nome) AS conteggio FROM dipendenti; Ciò in quanto il predicato ALL è il predefinito nel caso venisse omesso. Otterremmo invece un risultato differente con questa istruzione: SELECT COUNT(DISTINCT nome) AS conteggio FROM dipendenti; Questa restituirà il numero di nomi differenti all'interno della tabella dipendenti, escludendo infatti quelle righe con il valore nel campo nome ripetuto. Come nel caso precedente sono escluse le righe con valore NULL nel campo nome. Per includere invece tutte le righe, senza escludere né quelle con valore Null né quelle duplicate è possibile specificare il simbolo * al posto del nome del campo ed omettere il predicato ALL o DISTINCT. SELECT COUNT(*) AS conteggio FROM dipendenti; Questa istruzione semplicemente restituisce il numero di righe presenti all'interno della tabella dipendenti. Se avessimo specificato uno dei due predicati, l'istruzione avrebbe riportato un errore. Se si utilizza il simbolo * i predicati non sono necessari; viceversa utilizzando il nome di una colonna può essere utilizzato uno dei due predicati; in assenza di specifica sarà utilizzato il predicato ALL. Prima di procedere oltre vediamo altri due esempi: SELECT COUNT(nome) AS conteggio FROM dipendenti WHERE ruolo='direttore'; Restituirà il conteggio dei direttori presenti nell'elenco dei dipendenti; saranno escluse quelle righe in cui il campo nome contiene valore NULL, oltre che naturalmente tutte quelle che non corrispondono al ruolo di direttore. Inoltre le funzioni di aggregazione, come tutti gli altri valori d'altronde, possono essere affiancate da altre funzioni di aggregazione: SELECT COUNT(*) AS totale, COUNT(nome) AS nomi, COUNT(DISTINCT nome) AS nomi_unici FROM dipendenti WHERE ruolo='direttore'; Restituirà una riga composta da tre campi: 1. totale conterrà il numero complessivo di righe della tabella dipendenti in cui il ruolo sia Direttore; 2. nomi conterrà il numero di nomi dei dipendenti, escludendo i valori Null e quelli che non corrispondono a Direttore; 3. nomi_unici conterrà invece il numero di nomi univoci, contanto solo una volta quelli duplicati, escludendo quelli (anzi quella, vista l'esclusione dei duplicati) con valori Null e ruolo non corrispondente a Direttore. Un'altra funzione di aggregazione molto comune è SUM che, come dice il nome, riporta la somma dei valori presi in esame; come per tutte le altre funzioni di aggregazione il procedimento è sempre 7

8 lo stesso, utilizzando il nome di un campo e un predicato ALL o DISTINCT. A differenza della precedente funzione, questa e le successive non consentono di specificare l'asterisco per indicare tutti i valori del criterio e pertanto i valori Null sono sempre esclusi. Vediamo qualche esempio di funzionamento: SELECT SUM(stipendio) AS somma FROM dipendenti WHERE ruolo='impiegati'; Riporterà la somma dei dati presenti nella colonna stipendio della tabella dipendenti in cui il ruolo corrisponde a Impiegati. Sono esclusi tutti i valori NULL. Questa funzione lavorerà soltanto su valori numerici interi o decimali e restituirà errore in caso di dati di tipo carattere. Molto similare alla precedente è la funzione AVG, utilizzata per calcolare il valore medio di un campo; opera soltanto su valori numerici ed il suo funzionamento è molto semplice: SELECT AVG(stipendio) AS media FROM dipendenti WHERE ruolo='impiegati'; Restituirà lo stipendio medio di tutti gli impiegati presenti nella tabella dipendenti. Non avendo specificato il predicato sarà assunto il valore predefinito ALL che include tutte le righe nel calcolo. Specificando invece il predicato DISTINCT otterremo un calcolo differente: SELECT AVG(DISTINCT stipendio) AS media FROM dipendenti WHERE ruolo='impiegati'; Sarà infatti riportato il valore dello stipendio medio per mansione degli impiegati; cercherò di essere più chiaro: se la tabella dipendenti contenesse 10 impiegati pagati 1000 e 3 impiegati pagati 3000 il valore restituito sarà calcolato come media tra 1000 e 3000, riportando quindi il valore di Se non avessimo specificato il predicato DISTINCT il calcolo avrebbe restituito il valore 1000* *3 risultando quindi il valore di È importante capire questa differenza perché potrebbe produrre risultati inaspettati. Restano le ultime due funzioni di aggregazione: MIN e MAX che, come dicono i loro nomi, restituiscono rispettivamente il valore minimo ed il valore massimo dell'insieme richiesto. Queste due funzioni lavorano bene sia su campi numerici che su campi di tipo carattere. SELECT MIN(nome) AS primo, MAX(nome) AS ultimo FROM dipendenti; Restituirà il primo e l'ultimo alfabeticamente dei dipendenti, cioè quello in cui il campo nome apparirà in prima posizione e quello che sarà in ultima se le righe venissero ordinate. Come per le altre funzioni è possibile specificare il predicato ALL o DISTINCT ma in entrambi i casi di queste due funzioni il loro effetto è inutile; l'inclusione o l'esclusione non comporta alcuna differenza; saranno sempre e comunque recuperati il primo e l'ultimo. SELECT MIN(stipendio) AS povero, MAX(stipendio) AS ricco FROM dipendenti; Naturalmente è possibile effettuare la stessa interrogazione anche su dati numerici e, nel nostro esempio, recuperare lo stipendio minimo e lo stipendio massimo di tutti i dipendenti. 8

9 Raggruppamenti Le funzioni di aggregazione trattate nell'articolo precedente trovano il loro connubbio naturale con la clausola GROUP BY, utilizzata, come ne dice il nome, per suddividere in gruppi le righe estratte mediante istruzione SELECT. La sintassi generale, molto semplice è la seguente: GROUP BY <campi> È applicata alle selezioni per suddividere i risultati in gruppi distinti per valore nei campi specificati. Spiegare il funzionamento non è semplice e ci avvaleremo di alcuni esempi per renderlo più chiaro. Data la solita selezione dei direttori dalle tabella degli impiegati: SELECT nome, cognome, stipendio FROM impiegati WHERE ruolo='direttore'; Possiamo avere la necessità di recuperare il costo medio oppure totale suddiviso per ruolo. Sappiamo di poter sfruttare le funzioni di aggregazione AVG e SUM per ottenere questi dati ma tutti gli esempi che abbiamo già visto restituivano sempre e soltanto una singola riga, come totale o media di tutte le righe richieste dalla clausola WHERE (o dall'intera tabella in assenza della clausola). Vediamo invece come spaccare il set di risultati in più gruppi, ognuno dei quali con il proprio criterio di aggregazione: SELECT ruolo, AVG(stipendio) AS media, SUM(stipendio) AS somma FROM dipendenti GROUP BY ruolo; Restituirà tre colonne in cui la prima conterrà il ruolo del gruppo di dipendenti, la seconda lo stipendio medio del gruppo cui appartengono e la terza la somma degli stipendi di ogni gruppo di persone: RUOLO MEDIA SOMMA Impiegato Direttore È importante capire il funzionamento della clausola GROUP BY e delle funzioni di aggregazione, perché il loro comportamento è ben differente da quello delle altre clausole; affinchè sia possibile il raggruppamento è necessario che tutti i campi coinvolti nella selezione siano raggruppati. Nell'esempio precedente esiste un criterio di raggruppamento dato dal campo ruolo che segue la clausola GROUP BY, mentre gli altri due campi contengono funzioni di aggregazione che, come abbiamo già visto, restituiscono sempre un'unica riga. L'espressione contiene quindi tre campi raggruppati. Il principio di fondo delle funzioni di aggregazione e della clausola GROUP BY è infatti questo: tutti i campi devono rappresentare un raggruppamento, dettato da un'aggregazione oppure da una clausola GROUP BY. Questa è la ragione per cui questa clausola costituisce il complemento delle funzioni viste nell'articolo precedente. Vediamo qualche altro esempio: SELECT ruolo, stipendio, COUNT(stipendio) AS conta, SUM(stipendio) AS somma FROM dipendenti GROUP BY ruolo, stipendio; 9

10 Questa selezione restituisce lo stipendio, il numero di dipendenti e la spesa totale differenziata per ciascun valore di stipendio. Nell'esempio ciò che riporterà saranno i dati seguenti: RUOLO STIPENDIO CONTA SOMMA Impiegato Direttore Direttore Anche in questo caso tutti i campi sono ragguppati; i primi due sono regolati dalla clausola GROUP BY, gli ultimi due dalle funzioni di aggregazione. Possiamo notare la presenza di due righe con il ruolo Direttore, ma differenziate per stipendio. I cinque impiegati sono invece raggruppati su un'unica riga perchè tutti con lo stesso stipendio. Se il database lamenta qualcosa circa l'assenza di un campo dell'istruzione SELECT all'interno delle clausola GROUP BY oppure delle funzioni di aggregazione la ragione è quella già accennata: tutti i campi dell'istruzione devono essere raggruppati in una delle due maniere già accennate. La clausola HAVING rappresenta un vincolo sui dati risultanti dall'operazione di raggruppamento. Il suo funzionamento è molto simile a quello della clausola WHERE ma anziché operare sui campi del database opera sui raggruppamenti; i campi richiesti possono essere sia quelli delle funzioni di aggregazione sia quelli indicati nelle clausole GROUP BY. Riprendendo l'esempio precedente per estrarre soltanto quelle righe in cui il numero di dipendenti sia maggiore di 1: SELECT ruolo, stipendio, COUNT(stipendio) AS conta, SUM(stipendio) AS somma FROM dipendenti GROUP BY ruolo, stipendio HAVING COUNT(stipendio) > 1; Si tratta dello stesso esempio precedente, ma con l'aggiunta di una clausola HAVING che richiede che il numero di stipendi sia superiore a 1; il suo utilizzo è molto simile a quello della clausola WHERE ma richiede la specifica di un criterio di raggruppamento o aggregazione. Inner Join (giunzione naturale o join interno) La possibilità di suddividere i dati in più tabelle sarebbe inutile se non si potesse unire il contenuto di più tabelle in un unico set di risultati. Un'operazione di JOIN unisce il contenuto di una o più tabelle con l'origine specificata nella clausola FROM; il suo funzionamento è infatti basato sull'uso della clausola FROM e si presenta immediatamente accanto, in un'operazione di selezione: SELECT <campi> FROM <origine> <tipo di join> <origine> [ ON <campo> <relazione> <campo> ]; Anzichè specificare più origini nella clausola FROM la soluzione ideale è quella di specificare un'unica origine in FROM e tutte le altre origini in tante clausole JOIN, ognuna con la propria relazione con l'origine principale. Prima di affrontare in dettaglio il comportamento dell'operatore JOIN è necessaria una presentazione dei diversi tipi di join: 10

11 INNER JOIN Il JOIN interno, sicuramente il principale, stabilisce che i dati che verranno restituiti sono soltanto quelli che corrispondono al criterio formato dalla relazione dei due campi; tutte le righe che non rientrano nella relazione sono escluse, sia dall'origine principale che da quelle coinvolte nelle relazioni. LEFT OUTER JOIN Il primo dei JOIN esterni, aggiunge ai risultati del JOIN interno anche quelle righe presenti nell'origine presente a sinistra (LEFT) della clausola JOIN; le nuove righe formate da questi dati aggiuntivi sono riempiti con valori NULL. RIGHT OUTER JOIN Il JOIN esterno opposto al precedente, aggiunge ai risultati del JOIN interno anche le righe dell'origine che si trova alla destra (RIGHT) della clausola JOIN; le righe non corrispondenti sono riempite con valori NULL. FULL OUTER JOIN La combinazione di JOIN interno, esterno sinistro ed esterno destro, include tutte le righe presenti nelle orignini a sinistra e a destra della clausola; i dati presenti in una delle origini ma non corrisponti nell'altra conterranno valori NULL. Vediamo in dettaglio la modalità di INNER JOIN. Questo tipo di giunzione si può scrivere anche nel modo seguente: SELECT <campi> FROM <origine>, <origine> WHERE <campo> <relazione> <campo>; A scopo di esempio immaginiamo una situazione di due tabelle contenenti Automobili e Persone PERSONE ID COGNOME NOME 1 Capelli Michele 2 Tardi Giulia 3 Maugeri Martina 4 Catozzo Andrea AUTO TARGA MODELLO PRORIETARIO CD 023 XW Punto 1 AX 765 BC Fiesta 1 AA 125 TY Leon 4 BB 023 UT Panda 5 5 Piconi Gianni In questa presunta realtà abbiamo tre persone (Capelli, Catozzo e Piconi) che possiedono delle automobili, in particolare Capelli ne possiede 2. La forma di JOIN più semplice, combina dei criteri per estrarre soltanto le righe che presentano i campi indicati in entrambe le origini. Data la situazione di analisi precedente è possibile stabilire un JOIN interno che relazioni i due gruppi di persone e auto e riporti soltanto quelle tra loro abbinate. La rappresentazione SQL di questa situazione può essere la presente: 11

12 SELECT persone.id, cognome, nome, targa, modello FROM persone INNER JOIN auto ON persone.id = auto.proprietario; o in maniera equivalente: SELECT persone.id, cognome, nome, targa, modello FROM persone, auto WHERE persone.id = auto.proprietario; I risultati riportati da entrambe le forme sono i seguenti: ID COGNOME NOME TARGA MODELLO 1 Capelli Michele CD 023 XW Punto 1 Capelli Michele AX 765 BC Fiesta 4 Catozzo Andrea AA 125 TY Leon 5 Piconi Gianni BB 023 UT Panda Le quattro righe della tabella risultante sono quelle per cui è presente l uguaglianza tra i campi id e proprietario, quindi combinano i dati delle automobili con i dati dei relativi proprietari. 12

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7 ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

SQL - Funzioni di gruppo

SQL - Funzioni di gruppo una funzione di gruppo permette di estrarre informazioni da gruppi di tuple di una relazione le funzioni di gruppo si basano su due concetti: partizionamento delle tuple di una relazione in base al valore

Dettagli

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 DB2 Data Management Software Il linguaggio SQL Raggruppamenti Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute in questa

Dettagli

OSSIF WEB. Manuale query builder

OSSIF WEB. Manuale query builder OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI

Dettagli

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a Join in SQL (primo modo) Informatica Lezione 7 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 09- Per formulare interrogazioni che coinvolgono

Dettagli

Informatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL

Informatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL Informatica Basi di dati parte 4 SQL Lezione 13 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2012 2013 1 Interrogazioni in

Dettagli

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

Istruzioni DML di SQL

Istruzioni DML di SQL Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,

Dettagli

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento Sommario - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento Introduzione - Un database è un archivio strutturato di dati che può essere manipolato con dei comandi nel linguaggio

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

MODULO 5 ACCESS Basi di dati. Lezione 4

MODULO 5 ACCESS Basi di dati. Lezione 4 MODULO 5 ACCESS Basi di dati Lezione 4 ARGOMENTI Lezione 4 Filtrare i dati Esempio 1 Query Cos è Creare Query in visualizza struttura Criteri di ricerca Esempio 2 Esempio 3 Esempio 4 Creare Query in creazione

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5

Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5 Istruzioni SQL Istruzioni SQL 1 Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5 Query di inserimento 5 INSERT INTO 5 Query di

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

CONCETTO DI ANNIDAMENTO

CONCETTO DI ANNIDAMENTO LEZIONE14 SQL ANNIDAMENTI PAG. 1 / 5 PROF. ANDREA ZOCCHEDDU LEZIONE14 SQL ANNIDAMENTI CONCETTO DI ANNIDAMENTO LINGUAGGIO SQL QUERY ANNIDATE Per annidamento si intende la possibilità che, all interno di

Dettagli

Le query di raggruppamento

Le query di raggruppamento Le query di raggruppamento Le "Query di raggruppamento" sono delle Query di selezione che fanno uso delle "Funzioni di aggregazione" come la Somma, il Conteggio, il Massimo, il Minimo o la Media, per visualizzare

Dettagli

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto: Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto: Tabella Cliente: Tabella NumTel: Tabella Dati_Cliente: L'esempio è per ragioni di chiarezza

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Le query. Lezione 6 a cura di Maria Novella Mosciatti Lezione 6 a cura di Maria Novella Mosciatti Le query Le query sono oggetti del DB che consentono di visualizzare, modificare e analizzare i dati in modi diversi. Si possono utilizzare query come origine

Dettagli

Basi Di Dati, 09/12/2003

Basi Di Dati, 09/12/2003 Basi Di Dati, 09/12/2003 Una concessionaria di auto nuove ed usate vuole automatizzare alcune delle sue attività. L attività che la concessionaria vuole automatizzare riguarda la gestione delle auto nuove,

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 5.2.1 RELAZIONI TRA TABELLE 1 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 Il grado di un verso di un associazione indica quanti record della tabella di partenza si associano ad un

Dettagli

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza vers.3 in lavorazione Docente SAFFI FABIO Contenuti 01.Esercizi generici sul diagramma di flusso - flow chart... 2

Dettagli

Il linguaggio SQL: query innestate

Il linguaggio SQL: query innestate Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...).

Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...). ESEMPIO DI QUERY SUL FILE Formario_minuscolo Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...). Durante l interrogazione,

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI E DATABASE (prof. Ivaldi Giuliano) ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).

Dettagli

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta

Dettagli

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il

Dettagli

SPECIFICHE E LIMITI DI EXCEL

SPECIFICHE E LIMITI DI EXCEL SPECIFICHE E LIMITI DI EXCEL Un "FOGLIO DI CALCOLO" è un oggetto di un programma per computer costituito da un insieme di celle, organizzate in righe e colonne, atte a memorizzare dati ed effettuare operazioni

Dettagli

EXCEL FUNZIONI PRINCIPALI

EXCEL FUNZIONI PRINCIPALI EXCEL FUNZIONI PRINCIPALI Funzione SE() Sintassi: SE(VERIFICA, VALORE SE VERO, VALORE SE FALSO): verifica un valore e ritorna una risposta in base al risultato vero/falso Esempio: =SE(A2=15; "OK"; "NO")

Dettagli

Progettazione di un Database

Progettazione di un Database Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di

Dettagli

Introduzione ai database relazionali

Introduzione ai database relazionali Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita

Dettagli

LA CORRISPONDENZA COMMERCIALE

LA CORRISPONDENZA COMMERCIALE LA CORRISPONDENZA COMMERCIALE GLI ELEMENTI ESSENZIALI DELLA LETTERA COMMERCIALE Intestazione Individua il nome e il cognome o la ragione sociale di chi scrive; contiene inoltre l indirizzo e i recapiti

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

Sistemi per la gestione di database: MySQL ( )

Sistemi per la gestione di database: MySQL ( ) Sistemi per la gestione di database: MySQL ( ) Relational Database e Relational Database Management System Un database è una raccolta di dati organizzata in modo da consentire l accesso, il reperimento

Dettagli

Stampa su moduli prestampati utilizzando Reflection for IBM 2011 o 2008

Stampa su moduli prestampati utilizzando Reflection for IBM 2011 o 2008 Stampa su moduli prestampati utilizzando Reflection for IBM 2011 o 2008 Ultima revisione 13 novembre 2008 Nota: Le informazioni più aggiornate vengono prima pubblicate in inglese nella nota tecnica: 2179.html.

Dettagli

Hub-PA Versione 1.0.6 Manuale utente

Hub-PA Versione 1.0.6 Manuale utente Hub-PA Versione 1.0.6 Manuale utente (Giugno 2014) Hub-PA è la porta d ingresso al servizio di fatturazione elettronica verso la Pubblica Amministrazione (PA) a disposizione di ogni fornitore. Questo manuale

Dettagli

Elementi di Algebra Relazionale

Elementi di Algebra Relazionale Note dalle lezioni di INFORMATICA (per gli allievi della classe quinta - indirizzo MERCURIO) Elementi di Algebra Relazionale prof. Stefano D.L.Campanozzi I.T.C. Giulio Cesare Bari - a.s. 2008-2009 1 Introduzione

Dettagli

User Tools: DataBase Manager

User Tools: DataBase Manager Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

Interrogazioni complesse. SQL avanzato 1

Interrogazioni complesse. SQL avanzato 1 Interrogazioni complesse SQL avanzato Classificazione delle interrogazioni complesse Query con ordinamento Query con aggregazione Query con raggruppamento Query binarie Query annidate SQL avanzato 2 Esempio

Dettagli

Data management a.a. 2009-2010. Il linguaggio SQL

Data management a.a. 2009-2010. Il linguaggio SQL Data management a.a. 2009-2010 Il linguaggio SQL 1 Modello di database E' un database generico con anagrafica e movimenti di uso molto frequente: per esempio, clienti e fatture, studenti ed esami sostenuti,

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite Sistemi Mobili e Wireless Android - Dati persistenti: SQLite Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Android offre

Dettagli

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu

Dettagli

RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL

RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL 1 RAPPRESENTAZIONE GRAFICA Per l analisi dati con Excel si fa riferimento alla versione 2007 di Office, le versioni successive non differiscono

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

SQL/OLAP. Estensioni OLAP in SQL

SQL/OLAP. Estensioni OLAP in SQL SQL/OLAP Estensioni OLAP in SQL 1 Definizione e calcolo delle misure Definire una misura significa specificare gli operatori di aggregazione rispetto a tutte le dimensioni del fatto Ipotesi: per ogni misura,

Dettagli

Probabilità discreta

Probabilità discreta Probabilità discreta Daniele A. Gewurz 1 Che probabilità c è che succeda...? Una delle applicazioni della combinatoria è nel calcolo di probabilità discrete. Quando abbiamo a che fare con un fenomeno che

Dettagli

Capitolo 6. 6.1 TOTALI PARZIALI E COMPLESSIVI Aprire la cartella di lavoro Lezione2 e inserire la tabella n 2 nel Foglio1 che chiameremo Totali.

Capitolo 6. 6.1 TOTALI PARZIALI E COMPLESSIVI Aprire la cartella di lavoro Lezione2 e inserire la tabella n 2 nel Foglio1 che chiameremo Totali. Capitolo 6 GESTIONE DEI DATI 6.1 TOTALI PARZIALI E COMPLESSIVI Aprire la cartella di lavoro Lezione2 e inserire la tabella n 2 nel Foglio1 che chiameremo Totali. Figura 86. Tabella Totali Si vuole sapere

Dettagli

Il foglio elettronico. Excel 2013 3 PARTE

Il foglio elettronico. Excel 2013 3 PARTE Il foglio elettronico Excel 2013 3 PARTE Versione 15/10/2013 Le tabelle PIVOT Tabelle PIVOT Le tabelle pivot sono tabelle interattive che consentono all'utente di raggruppare e riassumere grandi quantità

Dettagli

WORD (livello avanzato): Struttura di un Documento Complesso. Struttura di un Documento Complesso

WORD (livello avanzato): Struttura di un Documento Complesso. Struttura di un Documento Complesso Parte 5 Adv WORD (livello avanzato): Struttura di un Documento Complesso 1 di 30 Struttura di un Documento Complesso La realizzazione di un libro, di un documento tecnico o scientifico complesso, presenta

Dettagli

Manuale Knowledge Base

Manuale Knowledge Base (Riservato a rivenditori e agenzie) Versione Luglio 2010 SOMMARIO Introduzione... 2 Accesso... 2 Menu Conoscenze... 3 Bacheca... 4 Voci di menu... 5 Ricerca... 5 Ricerca Semplice... 6 Ricerca avanzata...

Dettagli

SQL IL LINGUAGGIO DI INTERROGAZIONE

SQL IL LINGUAGGIO DI INTERROGAZIONE SQL IL LINGUAGGIO DI INTERROGAZIONE SQL! Originato da SEQUEL-XRM e System-R (1974-1977) dell IBM! Significato originario Structured Query Language! Standard de facto! Attuale standard ANSI/ISO è SQL:1999

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

Olga Scotti. Basi di Informatica. Excel

Olga Scotti. Basi di Informatica. Excel Basi di Informatica Excel Tabelle pivot Le tabelle pivot sono strumenti analitici e di reporting per creare tabelle riassuntive, riorganizzare dati tramite trascinamento, filtrare e raggruppare i dati,

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. Premessa Oltre alle singole parole WoWords può gestire intere frasi in inglese. A differenza delle singole parole, le

Dettagli

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date; CREAZIONE STRUTTURA DI UNA TABELLA by Marinsalta Fausto CREATE TABLE Personale Matricola char(5), Cognome char(30), Nome char(20), Codfis char(16) not null, Assunzione date, Filiale smallint, Funzione

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12 SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.

Dettagli

Capitolo II. La forma del valore. 7. La duplice forma in cui si presenta la merce: naturale e di valore.

Capitolo II. La forma del valore. 7. La duplice forma in cui si presenta la merce: naturale e di valore. Capitolo II La forma del valore 7. La duplice forma in cui si presenta la merce: naturale e di valore. I beni nascono come valori d uso: nel loro divenire merci acquisiscono anche un valore (di scambio).

Dettagli

Il linguaggio SQL: viste e tabelle derivate

Il linguaggio SQL: viste e tabelle derivate Il linguaggio SQL: viste e tabelle derivate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLd-viste.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

Corso di Archivistica

Corso di Archivistica Corso di Archivistica e gestione documentale Prima Parte - Area Informatica Le tabelle Lezione 6 Creare un data base Introduzione La presente è la prima di una serie di lezioni finalizzate alla creazione

Dettagli

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record 5.3 TABELLE In un sistema di database relazionali le tabelle rappresentano la struttura di partenza, che resta poi fondamentale per tutte le fasi del lavoro di creazione e di gestione del database. 5.3.1

Dettagli

Microsoft Access. Microsoft Access

Microsoft Access. Microsoft Access Microsoft Access E. Tramontana E. Tramontana 1 Microsoft Access Un Database è una collezione di dati relazionati e strutturati MS Access è uno strumento per la gestione di Database Consente di archiviare

Dettagli

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf Il linguaggio SQL: viste e tabelle derivate Versione elettronica: SQLd-viste.pdf DB di riferimento per gli esempi Imp Sedi CodImp Nome Sede Ruolo Stipendio Sede Responsabile Citta E001 Rossi S01 Analista

Dettagli

PROGRAMMA SVOLTO NELLA SESSIONE N.

PROGRAMMA SVOLTO NELLA SESSIONE N. Università C. Cattaneo Liuc, Corso di Statistica, Sessione n. 1, 2014 Laboratorio Excel Sessione n. 1 Venerdì 031014 Gruppo PZ Lunedì 061014 Gruppo AD Martedì 071014 Gruppo EO PROGRAMMA SVOLTO NELLA SESSIONE

Dettagli

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) (Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste

Dettagli

IL LINGUAGGIO SQL. Caratteristiche generali. Il comando Select. Le basi di dati ed il linguaggio SQL A.Lorenzi D.Rossi - ATLAS. Pag.

IL LINGUAGGIO SQL. Caratteristiche generali. Il comando Select. Le basi di dati ed il linguaggio SQL A.Lorenzi D.Rossi - ATLAS. Pag. Caratteristiche generali IL LINGUAGGIO SQL Il linguaggio SQL (Structured Query Language) è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione di database relazionali.

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso 2.0 Gli archivi All interno della sezione archivi sono inserite le anagrafiche. In pratica si stratta di tutti quei dati che ricorreranno costantemente all interno dei documenti. 2.1 Inserire gli archivi

Dettagli

USO DI EXCEL CLASSE PRIMAI

USO DI EXCEL CLASSE PRIMAI USO DI EXCEL CLASSE PRIMAI In queste lezioni impareremo ad usare i fogli di calcolo EXCEL per l elaborazione statistica dei dati, per esempio, di un esperienza di laboratorio. Verrà nel seguito spiegato:

Dettagli

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26 Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione

Dettagli

8.9 CREARE UNA TABELLA PIVOT

8.9 CREARE UNA TABELLA PIVOT 8.9 CREARE UNA TABELLA PIVOT Utilizziamo la tabella del foglio di Excel Consumo di energia elettrica in Italia del progetto Aggiungere subtotali a una tabella di dati, per creare una Tabella pivot: essa

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Utilizzando Microsoft Access Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono

Dettagli

Basi di dati 9 febbraio 2010 Compito A

Basi di dati 9 febbraio 2010 Compito A Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli

Dettagli

2 Fortino Lugi. Figura Errore. Nel documento non esiste testo dello stile specificato.-3 -- Finestra attiva o nuovo documento

2 Fortino Lugi. Figura Errore. Nel documento non esiste testo dello stile specificato.-3 -- Finestra attiva o nuovo documento 1 Fortino Lugi STAMPA UNIONE OFFICE 2000 Vi sarà capitato sicuramente di ricevere lettere pubblicitarie indirizzate personalmente a voi; ovviamente quelle missive non sono state scritte a mano, ma utilizzando

Dettagli

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

da 2 a 5 giocatori, dai 10 anni in su, durata 30 minuti

da 2 a 5 giocatori, dai 10 anni in su, durata 30 minuti da 2 a 5 giocatori, dai 10 anni in su, durata 30 minuti OBIETTIVO Il vincitore è colui che, dopo due round di gioco, delle sue 11 ordinazioni, ne ha consegnate il maggior numero. CONTENUTO DELLA SCATOLA

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione

Dettagli

Database Manager Guida utente DMAN-IT-01/09/10

Database Manager Guida utente DMAN-IT-01/09/10 Database Manager Guida utente DMAN-IT-01/09/10 Le informazioni contenute in questo manuale di documentazione non sono contrattuali e possono essere modificate senza preavviso. La fornitura del software

Dettagli

GESTIONE CONTRATTI. Contratti clienti e contratti fornitori

GESTIONE CONTRATTI. Contratti clienti e contratti fornitori SPRING - CONTRATTI La Gestione Contratti di SPRING, in un'azienda, risolve le esigenze relative alla rilevazione dei contratti e delle relative condizioni. In particolare è possibile definire i servizi

Dettagli

Uso delle basi di dati. Informazione e dato. Cos è un database. Tabelle. Esempi di database

Uso delle basi di dati. Informazione e dato. Cos è un database. Tabelle. Esempi di database Uso delle basi di dati CORSO ECDL DataBase Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database, come

Dettagli

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente Funzioni In matematica, una funzione f da X in Y consiste in: 1. un insieme X detto dominio di f 2. un insieme Y detto codominio di f 3. una legge che ad ogni elemento x in X associa uno ed un solo elemento

Dettagli