IL LINGUAGGIO SQL LE BASI

Documenti analoghi
Il linguaggio SQL: raggruppamenti. Versione elettronica: SQLb-gruppi.pdf

Il linguaggio SQL: raggruppamenti

Il linguaggio SQL: raggruppamenti

Il linguaggio SQL: raggruppamenti

Esempi di Query con Aggregazioni in SQL/1

Progettazione di Sistemi Informatici

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio

Linguaggio SQL seconda parte

Structured Query Language

Gestione dei valori nulli

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

A.A. 2018/2019. Funzioni di Aggregazione e Raggruppamenti in SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

QL (Query Language) Alice Pavarani

Basi di Dati: Corso di laboratorio

Il linguaggio SQL - Interrogazioni -

Operatori aggregati. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni con raggruppamento

E possibile ordinare le righe del risultato di una interrogazione attraverso la clausola order by, a chiusura di una interrogazione.

Interrogazioni su più tabelle. Interrogazioni su più tabelle. Clausola where. Interrogazioni su più tabelle

Sistemi di Elaborazione delle Informazioni

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Lezioni di Laboratorio sui Data Base

Operatori aggregati. Un operatore aggregato è una funzione che si applica ad un insieme di tuple di una tabella

Caratteristiche dei linguaggi per Database

Idoneita Informatica. Sistemi per la gestione di basi di Dati

Interrogazioni complesse. SQL avanzato 1

4.SQL QUERY. Fare una query significa fare delle ricerche sul nostro database.

Operazioni su insiemi: unione, intersezione e differenza

Corso sul linguaggio SQL

<Nome Tabella>.<attributo>

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati

Linguaggio SQL. studenti matricola nome cognome citta anno 11 marco bini bologna laura sicuro rimini 1984 esami codice

Operatori aggregati. Gli operatori di aggregazione NON sono rappresentabili in Algebra Relazionale. conteggio, minimo, massimo, media, somma

SQL [2] Concetti avanzati di SQL. Esempi di interrogazioni

SQL - Sottointerrogazioni correlate

Informatica CL Fisioterapisti. Informatica Medica Sistemi per la gestione di basi di Dati

Elena Baralis 2007 Politecnico di Torino 1

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Operazioni sui dati. Interrogazioni con operatori aggregati. Capitolo 4

Queries su più tabelle

Manuale SQL. Manuale SQL - 1 -

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

SQL: le funzioni di aggregazione

Corso di Basi di Dati

Archivi e basi di dati - ing. M. Cossentino. Settore. Traccia 1. Traccia 200. Settore non polarizzato

SQL /10/2016 Basi di dati - SQL 1

Linguaggio SQL: fondamenti D B M G

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

Il formato di base di un interrogazione in SQL è: SELECT R i1.c 1, R i2.c 2,..., R in.c n FROM R 1, R 2,..., R k WHERE F;

Interrogazioni semplici

Select From Where...

Join esplicito. SELECT con join esplicito, sintassi. Ulteriore estensione: join naturale (meno diffuso) Outer join. Join esterno: "outer join"

SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. SQL come Data Manipulation Language - Funzioni Aggregate e GROUP BY

Elena Baralis 2007 Politecnico di Torino 1

Operatori aggregati: COUNT

D B M G. Linguaggio SQL: fondamenti. Istruzione SELECT: fondamenti. Elena Baralis 2007 Politecnico di Torino 1. Struttura di base

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. SQL come Data Manipulation Language - (SELECT FROM WHERE ORDER BY)

Esempi SQL con Access. Orazio Battaglia

SQL - Funzioni di gruppo

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

Operatori aggregati: COUNT

Database parte 2. Database azienda

Corso di Informatica Linguaggio SQL seconda parte

MODULO 2. Query normali e parametriche Query di:

Linguaggio SQL: fondamenti D B M G

BASE DI DATI. Concetti trattati: Funzioni aggregate Raggruppamenti Nidificazione Viste. Informatica Umanistica Università di Pisa

Principi di Progettazione del Software a.a Il linguaggio SQL. Il Linguaggio SQL

Laboratorio di. Docenti: Alberto Belussi e Carlo Combi

SQL è stato definito nel 1973 ed è oggi il linguaggio universale dei sistemi relazionali

OPERATORI LOGICI: AND, OR, NOT

Elena Baralis, Claudio Demartini

Interrogazioni di tipo insiemistico. Select. Interrogazioni di tipo insiemistico. Interrogazioni nidificate

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative

SQL terza 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 2010/11

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

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

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

Basi di dati - Laboratorio

Monday, January 24, 2011 SQL

Manuale Comandi SQL SQL. Sito per esercitarsi (on line) SQL

Interrogazioni in SQL SQL1 1

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

Tabelle esempio: Impiegato/Dipartimento

Gestione di basi di dati relazionali con SQL (parte II) Valutazione delle condizioni su insiemi di tuple

Interrogazioni. L istruzione base per le interrogazioni è select

Corso di Informatica Medica

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

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

SQL: RAGGRUPPAMENTI, QUANTIFICAZIONE, METODO. Patrizio Dazzi a.a

Basi di dati (4) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. Argomento: select (1.

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

Linguaggio SQL. Prof. Giuseppe Tandoi

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

Informatica Grafica. Basi di dati parte 2

SQL. SQL: "storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. "standard di fatto"

Transcript:

IL LINGUAGGIO SQL LE BASI

DB DI RIFERIMENTO PER GLI ESEMPI 2

ESPRESSIONI NELLA CLAUSOLA SELECT La SELECT list può contenere non solo attributi, ma anche espressioni: Le espressioni possono comprendere anche più attributi. Si noti che in questo caso la seconda colonna non ha un nome 3

RIDENOMINAZIONE DELLE COLONNE Ad ogni elemento della SELECT list è possibile associare un nome a piacere: La parola chiave AS può anche omessa: 4

PSEUDONIMI Per chiarezza ogni nome di colonna può essere scritto aggiungendo ad esso, come prefisso, il nome della tabella (obbligatorio in caso di ambiguità): e si può anche usare uno pseudonimo (alias) in luogo del nome della tabella 5

VALORI NULLI Il trattamento dei valori nulli si basa sulle regole dell algebra relazionale, quindi la query: restituisce solo 6

LOGICA NELLA CLAUSOLA WHERE Un esempio di espressione logica : Per verificare se un valore è NULL si usa l operatore IS. NOT(A IS NULL) si scrive anche A IS NOT NULL. 7

ORDINAMENTO DEL RISULTATO Per ordinare il risultato di una query secondo i valori di una o più colonne si introduce la clausola ORDER BY, e per ogni colonna si specifica se l ordinamento è per valori ascendenti (ASC, il default) o discendenti (DESC) 8

FUNZIONI AGGREGATE Lo standard SQL mette a disposizione una serie di funzioni aggregate (o di colonna ) : MIN minimo; MAX massimo; SUM somma; AVG media aritmetica; STDEV deviazione standard; VARIANCE varianza; COUNT contatore; 9

FUNZIONI AGGREGATE L argomento di una funzione aggregata è una qualunque espressione che può figurare nella SELECT list (ma NON un altra funzione aggregata!) Tutte le funzioni ad eccezione di COUNT, ignorano i valori nulli Il risultato è NULL se tutti i valori sono NULL L opzione DISTINCT considera solo i valori distinti. 10

CLAUSOLA SELECT E FUNZIONI AGGREGATE Se si usano funzioni aggregate, la SELECT list non può includere altri elementi che non siano a loro volta funzioni aggregate Non va bene! (viceversa, SELECT MIN(Stipendio), MAX(Stipendio) è corretto) Il motivo è che una funzione aggregata restituisce un singolo valore, mentre il riferimento a una colonna è in generale un insieme di valori (eventualmente ripetuti). Nel caso specifico (chi sono gli impiegati con stipendio minimo?) è necessario ricorrere a un altra soluzione, che vedremo più avanti. 11

FUNZIONI AGGREGATE E RAGGRUPPAMENTO I valori di sintesi calcolati dalle funzioni aggregate si riferiscono a tutte le tuple che soddisfano le condizioni della clausola WHERE. Viceversa in molti casi è opportuno fornire i suddetti valori per gruppi omogenei di tuple (es: impiegati di una stessa sede). La clausola GROUP BY serve a definire tali gruppi, specificando una o più colonne (di raggruppamento) sulla base della/e quale/i le tuple sono raggruppate per valori uguali. La SELECT list può includere solo le colonne di raggruppamento, ma non altre! 12

COME FUNZIONA IL GROUP BY Le tuple che soddisfano la clausola WHERE. sono raggruppate per valori uguali della/e colonna/e presenti nella clausola GROUP BY. e infine a ciascun gruppo si applica la funzione aggregata 13

GROUP BY : ESEMPI 14

RAGGRUPPAMENTO E PROIEZIONE Quando la SELECT list include solo le colonne di raggruppamento, il risultato è equivalente a ciò che si otterrebbe omettendo il GROUP BY e rimuovendo i duplicati con l opzione DISTINCT equivale pertanto a : 15

CONDIZIONI SUI GRUPPI Oltre a poter formare dei gruppi, è anche possibile selezionare alcuni gruppi sulla base di loro proprietà complessive : La clausola HAVING ha per i gruppi una funzione simile a quella che la clausola WHERE ha per le tuple (attenzione a non confonderle!). 16

TIPI DI CONDIZIONI SUI GRUPPI Nella clausola HAVING si possono due tipi di predicati: predicati che fanno uso di funzioni aggregate (es. COUNT(*) >2); Predicati che si riferiscono alle colonne di raggruppamento; questi si possono anche inserire nella clausola WHERE. equivale a : 17