Raggruppamento in SQL Esempio di raggruppamento

Slides:



Advertisements
Presentazioni simili
Interrogazioni Semplici Le operazioni di interrogazione vengono specificate per mezzo dellistruzione select select ListaAttributi from ListaTabelle [where.
Advertisements

Ricorsione in SQL-99.
Principale limitazione di AR e SQL-92: interrogazioni ricorsive
Macchine di Turing e ricorsività generale
Structured Query Language
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
1 DATA BASE GESTIONE VENDITE. 2 QUERY1 Per ogni Cognome di Rappresentante e Descrizione di Prodotto calcolare la somma delle quantità vendute: Somma (Quantità)
Esercizio zSi vuole realizzare un data warehouse per una azienda che vende mobili allingrosso. zIl data warehouse deve permettere di analizzare i ricavi.
Query OQL e XQUERY a confronto
Biglietti e Ritardi: schema E/R
Data warehousing con SQL Server
Biglietti e Ritardi: schema E/R
1 Misura Derivata: esempio dei biglietti CostoMedioBiglietto (CMB) calcolato come INCASSO/NUM_BIG. SUM AVG Implementazione in Analysis Services 1. Si definisce.
Biglietti: schema E/R.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
19/01/2014 Viste. 19/01/2014 Viste Le Viste Logiche o Viste o View possono essere definite come delle tabelle virtuali, i cui dati sono riaggregazioni.
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
Access: Query semplici
SQL: Lezione 7 Nataliya Rassadko
Esercitazione.
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
SQL: Structured Query Language
LSA Lab. Sistemi Informativi Economico-Aziendali
Esercitazione su Analisi OLAP
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Manipolazione dei dati
Realizzato da Roberto Savino
Gerarchie Ricorsive Una gerarchia ricorsiva deriva dalla presenza di una ricorsione o ciclo (un anello nel caso più semplice) nello schema operazionale.
Unità Didattica 3 Linguaggio C
sql: esempi di linguaggio sql nell'implementazione mysql
Tecniche di accessibilità web Tabelle e form accessibili Le tabelle di dati WCAG 1.0, linea guida 5 Garantire che le tabelle abbiano.
Informatica Parte applicativa Basi di dati - report Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Sistemi Informativi Insieme di “strutture” in grado di acquisire, elaborare, trasmettere ed archiviare informazioni in genere ad uso di un’organizzazione.
Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
1 Data warehousing con SQL Server SQL Server è un RDBMS (Relational DataBase Management System) Analysis Services è un componente di SQL Server che offre.
1 Misura aggregabile con differenti operatori Per una misura si possono definire differenti operatori di aggregazione per le differenti dimensioni La misura.
SEFOC – SETTORE FORMAZIONE CONTINUA DEL PERSONALE CORSO MYSQL AVANZATO ROBERTO PENNOLINO – CARMELO MASSIMO PRIOLO PALERMO – 07 | 06 | 2011.
Microsoft Access Query (II), filtri.
Basi di dati I Prof.ssa Rosalba Giugno Prof. Alfredo Pulvirenti SQL :Structured Query Language: SELECT (IV) SQL (Slide tratte in parte da da Atzeni, Ceri,
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
Lezione 19 Riccardo Sama' Copyright  Riccardo Sama' Access.
Algebra relazionale (III). Esempi di Interrogazioni: 3 Trovare matricola e nome dei capi i cui impiegati guadagnano tutti più di Tutti gli impiegati?
Microsoft Access Query (III).
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
Interrogazioni (parte 2)
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere. L’interrogazione.
Query languages per Basi di Dati Relazionali  Algebra Relazionale:  basato sulla teoria degli insiemi  procedurale  usato per l’implementazione di.
Vincoli interrelazionali
Raggruppamenti e target list scorretta select padre, avg(f.reddito), p.reddito from persone f join paternita on figlio = nome join persone p on padre =
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere. L’interrogazione.
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare.
Approfondimenti SQL.
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Excel Funzioni di ricerca.
Il linguaggio SQL (Structured Query Language) è il linguaggio standard per creare, manipolare e interrogare database relazionali. SQL non è case-sensitive:
Esercizi SQL Group by. CREATE TABLE dipendente (codDip CHAR(8) NOT NULL UNIQUE PRIMARY KEY, cognome CHAR(60) NOT NULL, nome CHAR(60) NOT NULL, stipendio.
Transcript della presentazione:

Raggruppamento in SQL Esempio di raggruppamento È possibile dare un nome alle colonne tramite AS

Raggruppamento in SQL Un altro esempio

Raggruppamento in SQL Le funzioni aggregate non si possono innestare Nell’esempio non possiamo calcolare la media dei totali, perchè non possiamo scrivere avg(sum(QUANTITA))

Raggruppamento in SQL Le funzioni aggregate non si possono innestare: si può fare il calcolo in più passi usando le viste Nell’esempio

Raggruppamento in SQL Il GROUP BY riporta solo le combinazioni presenti Come ottenere anche che la combinazione (MI,GEN1) con TOQUANTITA’ pari a zero?

Raggruppamento in SQL Opzione ALL nella clausola GROUP BY : GROUP BY ALL In questo modo ottengo tutte le possibili combinazioni, quindi anche (MI,GEN1), ma con TOQUANTITA’ pari a NULL in quanto una funzione aggregata applicata ad un insieme vuoto restituisce NULL. Come ottenere ZERO invece di NULL?

Raggruppamento in SQL Funzione ISNULL: ISNULL(COLONNA,VALORECOSTANTE) se il valore di COLONNA è NULL riporta il valore specificato in VALORECOSTANTE, altrimenti riporta il normale valore di COLONNA

I nuovi operatori CUBE e ROLLUP Riconsideriamo l’esempio (nel seguito useremo GROUP BY senza ALL): E’ possibile ottenere nella stessa query la quantità totale per ciascuna CITTÀ (SETTIMANA)? Occorre raggruppare il risultato della query su CITTA (SETTIMANA) ...

Il nuovo operatore CUBE SELECT ... <come prima> group by CITTA, SETTIMANA with cube Usando l’operatore CUBE nel GROUP BY GROUP BY ... WITH CUBE si includono nuove righe che raggruppano le righe ottenute dal GROUP BY semplice Si usa un nuovo valore polimorfo ALL per rappresentare che il raggruppamento è relativo a tutti i valori della colonna

L’operatore CUBE in SQL-SERVER SQL-Server ha l’operatore CUBE, però non ha il valore ALL: lo rappresenta con “NULL”

Funzione aggregata GROUPING Si può usare solo quando la GROUP BY contiene cube (o rollup) assume il valore 1 se il valore della colonna è NULL e la tupla è generata dall’operatore cube (o rollup): GROUPING(CITTA)=1 se e sole se CITTA=ALL

L’operatore CUBE in SQL-SERVER Utilizzando la funzione GROUPING con il CASE si riesce ad ottenere il risultato voluto

L’operatore CUBE in SQL-SERVER Un altro esempio più semplice

Roll-up Su dati multidimensionali, una operazione di Roll-up aggrega i dati eliminando un livello da una gerarchia Cosa succede se l’operatore CUBE è utilizzato in una aggregazione rispetto ai livelli di una gerarchia? Esempio rispetto a MESE e SETTIMANA: Queste righe non hanno senso, in quanto SETTIMANA --> MESE e quindi ad una settimana corrisponde sempre un solo mese!

L’operatore ROLLUP in SQL-SERVER Con GROUP BY COL1,COL2, ... COLn WITH ROLLUP si includono nuove righe che raggruppano le righe del GROUP BY semplice ma per la COLi non si riportano le righe ottenute raggruppando i valori delle colonne sulla sinistra

L’operatore ROLLUP in SQL-SERVER Altro esempio con ROLLUP (applicato ad una sequenza generica, non ad una gerarchia di dimensioni)