FUNZIONI DI GRUPPO Le funzioni di gruppo operano su un set di record restituendo un risultato per il gruppo. AVG ([DISTINCT|ALL] n) media, ignora i valori.

Slides:



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

TIPI STANDARD DI SQL BOOLEAN Valori: vero, falso CHAR(n)
Teoria e Tecniche del Riconoscimento
Microsoft SQL Server 2008 Utilizzo. Creazione DataBase CREATE DATABASE CREATE DATABASE Cinema.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
SQL (Standard query language) Istruzioni per la creazione di una tabella: Create table ( tipo, (, [vincoli]) Primary key ( ) CHIVE PRIMARIA Foreign key(
JPA Overview della tecnologia. Java Persistence Architecture Definita nella JSR-220 EJB 3.0 ( Tentativo di unificare EJB2.1 con.
SQL92 e XQuery1.0 a confronto1 SQL92 E XQUERY1.0 A CONFRONTO Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso.
1 Misura Derivata: esempio dei biglietti CostoMedioBiglietto (CMB) calcolato come INCASSO/NUM_BIG. SUM AVG Implementazione in Analysis Services 1. Si definisce.
Sequential Statements. – Il VHDL simula lo svolgersi in parallelo di varie operazioni – Loggetto fondamentale e il PROCESS – Un PROCESS contiene una serie.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
MySQL ___.
SQL Structured Query Language Comandi base di DML Rosalba Giugno Rosalba Giugno
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.
Un DataBase Management System (DBMS) relazionale client/server.
MySQL Esercitazioni. Ripasso Connessione a MySQL. Creazione delle basi di dati e delle tablelle. Inserimento dei dati. Interrogazioni.
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group.
SQL: Lezione 7 Nataliya Rassadko
SQL: Lezione 2 Esercitazione per il corso Basi di Dati Gabriel Kuper Nataliya Rassadko
Nataliya Rassadko SQL: Lezione 5 Nataliya Rassadko
SQL Esercitazione per il corso “Basi di Dati” Gabriel Kuper
SQL1 Structured Query Language Data Definition Language Data Manipulation Language Evoluzione Sequel IBM (1974) Standardizzazione ANSI/ISO: SQL-89, SQL-
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
Esercitazione.
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
Sequence. CREARE UNA SEQUENCE CREATE SEQUENCE nome [INCREMENT BY n] [START WITH n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE] [CYCLE | NOCYCLE]
Gestione dati DML Statement. DML – Data Manipultion Language Unoperazione DML viene eseguita quando: aggiungendo nuove righe ad una tabella modificando.
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.
CHARACTER FUNCTION CHARACTER FUNCTIONS CASE- MANIPULATION FUNCTIONS
PRODOTTO CARTESIANO Otteniamo un prodotto cartesiano quando: viene omessa la condizione di join una condizione di join non è valida tutte le righe della.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
Constraints.
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.
SQL: Structured Query Language
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Palermo, may 2010 F.Doumaz, S.Vinci (INGV-CNT- Gruppo di telerilevamento)
22 maggio 2002 Avvisi: Ultima lezione: mercoledì 29 maggio II Esonero: mercoledì 5 giugno, ore 10:00.
Microsoft Access Maschere.
Filtered Index and Statistics Filtered Indexes Sergio Govoni
Creare grafici con un foglio di calcolo Copyright© owned by Ubaldo Pernigo, please contact: Tutti i contenuti, ove non diversamente.
Sistemi Informativi Avanzati Presentazione Tesina
Modulo 1 bis Menù Incolla Esercitazione Un computer è quasi umano, a parte il fatto che non attribuisce i propri errori a un altro computer. (Anonimo)
Moduli o Form I Moduli permettono all'utente di immettere informazioni...
Foglio elettronico A. Ferrari. Syllabus (estratto) Lavorare con i fogli elettronici e salvarli in diversi formati. Inserire dati nelle celle e applicare.
Attribution-NonCommercial-ShareAlike Le novità
Attribution-NonCommercial-ShareAlike Le novità
Personalizzazione e porting delle procedure esterne connesse ad Aleph Il caricamento degli utenti della circolazione da files esterni Modifiche introdotte.
Installazione di Drupal su Linux (sistemista) Installazione step-by-step e note.
SUBQUERY Chi ha un salario maggiore di quello di Abel? Occorre scomporre la query in due sotto problemi: MAIN : quali impiegati hanno un salario maggiore.
1 Basi di dati (Sistemi Informativi) Scuola di Dottorato in Scienze Veterinarie per la Salute Animale e la Sicurezza Alimentare a.a Ing. Mauro.
1 Misura aggregabile con differenti operatori Per una misura si possono definire differenti operatori di aggregazione per le differenti dimensioni La misura.
Collection & Generics in Java
SEFOC – SETTORE FORMAZIONE CONTINUA DEL PERSONALE CORSO MYSQL AVANZATO ROBERTO PENNOLINO – CARMELO MASSIMO PRIOLO PALERMO – 07 | 06 | 2011.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 - Protocolli del Web Ernesto Damiani Lezione 3 – Esempi HTTP.
SQL Developer Lanciare sqldeveloper (alias sul desktop) / c:\Oracle\sqldeveloper Associare tutti i tipi di file, se volete Tasto destro sulla spina “connection”
Dynamic SQL.
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,
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.
Raggruppamento in SQL Esempio di raggruppamento
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.
Interrogazione di una base di dati relazionale
Corso di Basi di Dati Il Linguaggio SQL
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere.
Transcript della presentazione:

FUNZIONI DI GRUPPO Le funzioni di gruppo operano su un set di record restituendo un risultato per il gruppo. AVG ([DISTINCT|ALL] n) media, ignora i valori nulli COUNT ({* | [DISTINCT|ALL]} espr) MAX ([DISTINCT|ALL] espr) MIN ([DISTINCT|ALL] espr) STDDEV([DISTINCT|ALL] x) deviazione standard SUM ([DISTINCT|ALL] n) VARIANCE ([DISTINCT|ALL] x) varianza DISTINCT non considera i valori duplicati. ALL considera i duplicati, essendo il default non deve essere specificato.

FUNZIONI DI GRUPPO DISTINCT non considera i valori duplicati. ALL considera i duplicati, essendo il default non deve essere specificato. tutte le funzioni di gruppo ignorano i valori nulli. Per sostituire i valori nulli con un valore finito utilizzare NVL, NVL2, COALESCE Oracle server implicitamente ordina il result set in ordine ASCENDENTE in presenza di GRUOP BY. Per cambiare ordine, specificare DESC nella clausola ORDER BY

FUNZIONI DI GRUPPO SELECT AVG (salary) media, MAX(salary) massimo, MIN(salary) minimo, SUM(salary) somma FROM employees WHERE job_id LIKE ‘%REP%’; MEDIA MASSIMO MINIMO SOMMA 8272 11500 6000 273000

FUNZIONI DI GRUPPO Le funzioni MIN e MAX si possono usare con tutti i data type SELECT MIN(hire_date) , SUM(hire_date) FROM employees; SELECT MIN(last_name) , SUM(last_name) AGV, SUM, VARIANCE, STDDEV possono essere usate solo con valori numerici.

FUNZIONI DI GRUPPO COUNT(*) conta il numero di record di una tabella SELECT COUNT(*) FROM employees WHERE department_id = 50; Conta anche i valori duplicati e le righe che contengono i valori nulli.

FUNZIONI DI GRUPPO La funzione COUNT si può trovare anche nel formato: COUNT(espr) COUNT(DISTINCT espr) COUNT(espr) ritorna il numero di valori non nulli di espr COUNT(DISTINCT espr) ritorna il numero di valori non nulli e unique di espr

FUNZIONI DI GRUPPO SELECT COUNT(commission_pct) FROM employees WHERE department_id = 80; Conta il numero di record del dipartimento 80 con commissione non nulla. SELECT COUNT(DISTINCT department_id) FROM employees; Conta il numero di dipartimenti distinti e non nulli della tabella employees

FUNZIONI DI GRUPPO SELECT AVG(commission_pct) FROM employees; La media è calcolata sui valori “validi” (non nulli) della colonna commission_pct. SELECT AVG(NVL(commission_pct,0)) La funzione NVL forza la funzione di gruppo a considerare i valori nulli.

Creazione di un gruppo di dati FUNZIONI DI GRUPPO Creazione di un gruppo di dati Occorre creare piccoli gruppi di dati all’interno di una tabella che contiene grosse quantità di informazioni. SELECT colonna, group_function(colonna) FROM tabella [WHERE condizione] [GROUP BY group_by_espr] [ORDER BY colonna];

Creazione di un gruppo di dati FUNZIONI DI GRUPPO Creazione di un gruppo di dati Tutte le colonne nella SELECT list che non sono in una funzione di gruppo devono comparire nella clausola GROUP BY SELECT department_id, AVG(salary) FROM employees GROUP BY department_id; L’esempio visualizza il numero di dipartimento e per ciascuno la media dei salari. Non è possibile usare ALIAS nella clausola GROUP BY

Creazione di un gruppo di dati FUNZIONI DI GRUPPO Creazione di un gruppo di dati La colonna della clausola GROUP BY non deve essere necessariamente nella SELECT list. SELECT AVG(salary) FROM employees GROUP BY department_id; Anche se il record set della query non è molto comprensibile.

Creazione di un gruppo di dati FUNZIONI DI GRUPPO Creazione di un gruppo di dati E’ possibile usare le funzioni di gruppo nella ORDER BY SELECT department_id , AVG(salary) FROM employees GROUP BY department_id ORDER BY AVG(salary);

Raggruppamento su più colonne FUNZIONI DI GRUPPO Raggruppamento su più colonne SELECT department_id , job_id, SUM(salary) FROM employees GROUP BY department_id, job_id ORDER BY department_id, job_id; La tabella employees è raggruppata prima per il numero di dipartimento e all’interno di questo gruppo è raggruppato per job_id

FUNZIONI DI GRUPPO Ogni colonna che nella SELECT list non è in una funzione di aggregazione deve comparire nella clausola GROUP BY SELECT department_id , COUNT(last_name) FROM employees; ERROR at line 1: ORA-00937: not a single-group group function FROM employees GROUP BY department_id;

FUNZIONI DI GRUPPO Non è possibile usare la clausola WHERE per raggruppare. Non è possibile usare funzioni di gruppo nella clausola WHERE. SELECT department_id, AVG(salary) FROM employees WHERE AVG(salary) > 8000 GROUP BY department_id; ERROR at line 1: ORA-00934: group function is not allowed here

FUNZIONI DI GRUPPO Per introdurre una condizione di gruppo su un gruppo occorre usare la clausola HAVING SELECT colonna, group_function(colonna) FROM tabella [WHERE condizione] [GROUP BY group_by_espr] [HAVING group_condition] [ORDER BY colonna];

FUNZIONI DI GRUPPO SELECT job_id, SUM(salary) FROM employees WHERE job_id NOT LIKE ‘%REP’ GROUP BY job_id HAVING SUM(salary) > 13000 ORDER BY SUM(salary); SELECT department_id, MAX(salary) GROUP BY department_id HAVING MAX(salary) > 10000;