INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Raggruppamento. Raggruppamento

Documenti analoghi
SQL - Funzioni di gruppo

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione

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

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

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

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi

Esempio di database relazionale con l utilizzo del prodotto MySQL

Esame di Informatica Generale 25 giugno 2010 Professori: Carulli, Fiorino, Mazzei

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Esercitazione su SQL

Data management a.a Il linguaggio SQL

Corso di Basi di Dati

Le basi di dati. Base di dati. Modelli, schemi ed istanze DBMS. Architettura ANSI/SPARC: schemi

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

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

Università degli Studi di Milano. Esercizi Corso SIT. Basi di dati

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

Il linguaggio SQL: viste e tabelle derivate

Interrogazioni complesse. SQL avanzato 1

Interrogazione della base di dati

SQL: definizione schema

MAX, SUM, AVG, COUNT)

UTENTE (Codice, Nome, Cognome, Indirizzo, Telefono) PRESTITO (Collocazione, CodUtente, DataPrestito, DataRest)

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

Istruzioni DML di SQL

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati:

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

Esercizi SQL. Dato il seguente schema di una base di dati dove gli attributi che compongono la chiave sono scritti in grassetto

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

Basi di dati II prova intermedia 16 Marzo 2006 Compito 1

Squadra Giocatore Partita Goal Ingresso Ingresso SELECT FROM WHERE AND AND SELECT FROM WHERE AND AND AND AND SELECT FROM WHERE AND AND

MEZZI CodM Tipo Targa AnnoI Assicurato

Sistemi per la gestione di database: MySQL ( )

Il linguaggio SQL. ing. Alfredo Cozzi 1

Corso di Laboratorio di Basi di Dati

Basi di Dati Corso di Laura in Informatica Umanistica

Join in SQL (primo modo) Informatica. Interrogazione 4a. Tabella Dipartimento. Per formulare interrogazioni che coinvolgono.

SQL (STRUCTURED QUERY LANGUAGE)

Vogliamo creare una anagrafe e poi creare delle query che rispondono a delle domandi. Utilizzando Microsoft Access

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

SQL/OLAP. Estensioni OLAP in SQL

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null

Elaborazione Automatica dei Dati. SQL come Query Language. Enrico Cavalli. Anno Accademico Il linguaggio SQL

2011 Politecnico di Torino 1

Esercizio 1. Cognome e nome:... Matricola:...

Metodi per la Gestione dei Dati (lezioni di laboratorio)

Alessandra Raffaetà. Esercizio

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

SQL PER LA DEFINIZIONE DI BASI DI DATI

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

Domini elementari in SQL

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1

1. Per ogni film in cui appaiono solo attori nati prima del 1970 restituire il titolo del film.

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

XML e Windows Phone. Semplice tutorial per l'utilizzo di documenti e dati XML in un'app per Windows Phone.

Basi di Dati. Esercitazione SQL. Ing. Paolo Cappellari

DATABASE PER IL WEB. Programmazione Web 1

SQL come linguaggio di interrogazione. Basi di dati. Interrogazioni SQL. Interpretazione algebrica delle query SQL

Data la seguente tabella :

Create la tabella Dipendenti:

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

CONCETTO DI ANNIDAMENTO

Il linguaggio SQL (ultima revisione 15/05/2014) Pag. 1

L istruzione SELECT di SQL

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

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

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

Introduzione a phpmyadmin

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Metodi per la Gestione dei Dati (lezioni di laboratorio)

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

Estensioni del linguaggio SQL per interrogazioni OLAP

Introduzione. Cosa è SQL

PostgreSQL 8.4. Associazione Italiana PostgreSQL Users Group ConfSL 2009 Speaker's Corner Bologna, 13 Giugno 2009

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m

Data warehouse in Oracle

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

INTRODUZIONE AD SQL (CAPITOLO 4) R. Basili a.a

Il linguaggio SQL (ultima revisione 16/05/2012) Pag. 1

Tipi MULTISET: accesso

FileMaker 13. Guida SQL

Misure (parte II) Gerarchie Incomplete

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 28 Giugno 05 Nome: Cognome: Matricola: Esercizio 1

SQL (STRUCTURED QUERY LANGUAGE)

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

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Basi di dati Appello del Compito A

SQL IL LINGUAGGIO DI INTERROGAZIONE

ITI Galilei Salerno Corso Database ed SQL

Structured Query Language. Informatica Generale - SQL Versione 1.0, aa p.1/172

Modello Relazionale. Sistemi di Elaborazione delle Informazioni. DB ed SQL. Modello relazionale: concetti di base

Il linguaggio SQL e Access

Basi di Dati. Programmazione e gestione di sistemi telematici

NETEZZA APPLIANCE. Danilo De Benedictis NETEZZA DEVELOPMENT

Le Basi di Dati. Le Basi di Dati

Il Domino Character Il domino CHARACTER permette di definire attributi che contengono un singolo carattere o stringhe di caratteri di lunghezza

Misura delle prestazioni dei processi aziendali con sistemi di integrazione dati open source

Domini Numerici Esatti (1) I domini numerici esatti permettono di definire attributi che contenegono valori esatti interi o con parte frazionaria.

Sistemi Informativi Esercitazione di Laboratorio: SQL e Access (1)

Basi di Dati e Sistemi Informativi. SQL come linguaggio di manipolazione dei dati

Transcript:

INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : SQL (4) GROUPING Atzeni, cap. 4.3.4 DBMS: SQL (4) GROUPING 26 nov 2010 Dia 2 Gli operatori aggregati visti fino ad ora forniscono un unico risultato complessivo (SUM, COUNT, ) e operano su tutte le righe prodotte come risultato di un interrogazione SELECT Count (*) WHERE = Produzione"; DBMS: SQL (4) GROUPING 26 nov 2010 Dia 3 Altre volte è, invece, necessario applicare un operatore aggregato per ottenere più risultati parziali relativi a sottoinsiemi di righe raggruppate su valori comuni Ad esempio: se per ogni si volesse conoscere il totale degli stipendi pagati bisognerebbe raggruppare i dipendenti per dipartimento e applicare l operatore SUM ad ognuno di questi gruppi E cioè necessario ripartire le righe in sottoinsiemi omogenei ed applicare gli operatori aggregati ai singoli gruppi. 1

DBMS: SQL (4) GROUPING 26 nov 2010 Dia 4 Basta aggiungere in coda alla SELECT-FROM-WHERE la clausola GROUP BY GROUP BY A 1, A k HAVING A 1,,A k è un insiemei di campi Un sottoinsieme di A 1,,A k può comparire nella clausola SELECT (che non può contenere campi diversi da A 1,,A k ) è una clausola opzionale che si applica ai gruppi (permette di selezionarne solo un sottoinsieme) La query raggrupperà tutte le righe che presentano gli stessi valori sui campi A 1, A k DBMS: SQL (4) GROUPING 26 nov 2010 Dia 5 Tabelle esempio: Impiegato/ Impiegato (Nome, Cognome,, Ufficio, Stipendio annuo, Città) Impiegato Nome Cognome Ufficio Stipendio annuo Città Anna Bianco Amministrazione 75 40.000,00 Venezia Carlo Bianchi Produzione 20 36.000,00 Torino Carlo Rossi Direzione 80.000,00 Milano Franco Neri Distribuzione 16 45.000,00 Napoli Giuseppe Verdi Amministrazione 20 40.000,00 Roma Lorenzo Gialli Direzione 73.000,00 Genova Marco Franco Produzione 20 46.000,00 Roma Mario Rossi Amministrazione 10 45.000,00 Milano (Nome, Indirizzo, Città) Nome Indirizzo Città Amministrazione Via Tito Livio, 27 Milano Direzione Via Tito Livio, 2 Milano Distribuzione Via Segre, 9 Roma Produzione P.le Lavater, 3 Torino Ricerca Via Venosa, 6 Milano DBMS: SQL (4) GROUPING 26 nov 2010 Dia 6 QUERY 30 - GROUP BY Per ogni si vuole conoscere il totale degli stipendi pagati SELECT, Sum([Stipendio annuo]) AS Totale GROUP BY Totale Amministrazione 125.000,00 Direzione 153.000,00 Distribuzione 45.000,00 Produzione 82.000,00 2

DBMS: SQL (4) GROUPING 26 nov 2010 Dia 7 1) Viene prima eseguita la query come se non ci fosse la clausola GROUP BY, Nell esempio è come se venisse effettuata la query(31bis) SELECT FROM, [Stipendio annuo] Impiegato Stipendio annuo Amministrazione 40.000,00 Produzione 36.000,00 Direzione 80.000,00 Distribuzione 45.000,00 Amministrazione 40.000,00 Direzione 73.000,00 Produzione 46.000,00 Amministrazione 45.000,00 DBMS: SQL (4) GROUPING 26 nov 2010 Dia 8 2) Le righe vengono poi raggruppate mettendo assieme tutte quelle con uguale valore degli attributi che compaiono nella clausola GROUP BY Nell esempio il valore in base a cui raggruppare è il nome del t Stipendio annuo Amministrazione 40.000 Amministrazione 40.000 Amministrazione 45.000 Direzione 73.000 Direzione 80.000 Distribuzione 45.000 Produzione 36.000 Produzione 46.000 DBMS: SQL (4) GROUPING 26 nov 2010 Dia 9 3) Viene applicato l operatore aggregato ad ognuno dei sottoinsiemi individuati Nel nostro esempio, l operatore è SUM e si applica ad ognuno dei 4 sottoinsiemi individuati Stipendio annuo Totale Amministrazione 40.000 Amministrazione 125.000,00 Amministrazione 40.000 Direzione 153.000,00 Amministrazione 45.000 Distribuzione 45.000,00 Direzione 73.000 Produzione 82.000,00 Direzione 80.000 Distribuzione 45.000 Produzione 36.000 Produzione 46.000 3

DBMS: SQL (4) GROUPING 26 nov 2010 Dia 10 GROUP BY - HAVING La lista dei campi della clausola SELECT deve essere un sottoinsieme di quella della clausola GRUOP BY. Se siamo interessati solamente ad alcuni dei sottoinsiemi utilizziamo il predicato HAVING DBMS: SQL (4) GROUPING 26 nov 2010 Dia 11 QUERY 31 - HAVING Nome e spesa complessiva dei Dipartimenti che spendono più di 100.000 euro in stipendi SELECT, Sum ([Stipendio annuo]) GROUP BY HAVING Sum([Stipendio annuo])>100000 Expr1001 Amministrazione 125.000,00 Direzione 153.000,00 DBMS: SQL (4) GROUPING 26 nov 2010 Dia 12 GROUP BY - HAVING Nota: HAVING può anche essere usato senza GROUP BY. In questo caso la tabella si considera come un unico grande raggruppamento. HAVING presenta espressioni che contengono campi HAVING presenta espressioni che contengono campi solo se questi sono argomenti di operatori aggregati 4

DBMS: SQL (4) GROUPING 26 nov 2010 Dia 13 QUERY 32 - HAVING Tutti i Dipartimenti in cui la media degli stipendi dei dipendenti che lavorano nell ufficio 20 è superiore a 25.000 euro SELECT WHERE Ufficio = 20 GROUP BY HAVING Avg([Stipendio annuo])>25000; Amministrazione Produzione 5