Elena Baralis 2007 Politecnico di Torino 1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Elena Baralis 2007 Politecnico di Torino 1"

Transcript

1 Linguaggio SQL: fondamenti Struttura di base Clausola WHEE Ordinamento del risultato Join unzioni aggregate Operatore GOU BY Istruzione SELECT: esempio Trovare il codice e il numero di soci dei fornitori di Milano BD forniture prodotti Istruzione SELECT: esempio 1 Maglia osso 40 Torino 3 Camicia Blu 48 oma 5 Gonna Blu 40 Milano 6 Bermuda osso 42 Torino Cod Nome NSoci Sede 1 Andrea 2 Torino 2 Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino 5 Matteo 3 Venezia Trovare il codice e il numero di soci dei fornitori di Milano Cod Nome NSoci Sede 1 Andrea 2 Torino 2 Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino 5 Matteo 3 Venezia p Cod, NSoci s Sede='Milano' 2007 olitecnico di Torino 1

2 Istruzione SELECT: esempio SELECT base (n.1) Trovare il codice e il numero di soci dei fornitori di Milano SELECT Cod, NSoci OM WHEE Sede='Milano'; Cod Nome NSoci Sede 1 Andrea 2 Torino 2 Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino 5 Matteo 3 Venezia Cod NSoci Trovare il codice di tutti i prodotti SELECT Cod OM ; 1 Maglia osso 40 Torino 3 Camicia Blu 48 oma 5 Gonna Blu 40 Milano 6 Bermuda osso 42 Torino p Cod Cod SELECT base (n.2) SELECT base (n.2) Trovare il codice dei prodotti forniti da almeno un fornitore SELECT Cod OM ; Cod Trovare il codice dei prodotti forniti da almeno un fornitore SELECT Cod OM ; p Cod Non effettua la rimozione dei duplicati arola chiave DISTINCT eliminazione dei duplicati Eliminazione dei duplicati Trovare il codice dei prodotti diversi forniti da almeno un fornitore SELECT base (n.2) Trovare il codice dei prodotti diversi forniti da almeno un fornitore SELECT DISTINCT Cod OM ; Cod olitecnico di Torino 2

3 Selezione di tutte le informazioni Selezione con espressione (1/3) Trovare tutte le informazioni sui prodotti SELECT Cod, Nome, Colore, Taglia, Magazzino OM ; oppure SELECT * OM ; 1 Maglia osso 40 Torino 3 Camicia Blu 48 oma 5 Gonna Blu 40 Milano 6 Bermuda osso 42 Torino D M BG Trovare il codice dei prodotti e la taglia espressa con la misura americana SELECT Cod, Taglia-14 OM ; 1 Maglia osso 40 Torino 3 Camicia Blu 48 oma 5 Gonna Blu 40 Milano 6 Bermuda osso 42 Torino Cod Selezione con espressione (2/3) Selezione con espressione (3/3) Definizione di una nuova colonna temporanea per l espressione calcolata il nome della colonna temporanea può essere definito con la parola chiave AS Trovare il codice dei prodotti e la taglia espressa con la misura americana SELECT Cod, Taglia-14 AS TagliaUSA OM ; Cod TagliaUSA Struttura dell istruzione SELECT (1) SELECT [DISTINCT] ElencoAttributiDaVisualizzare OM ElencoTabelleDaUtilizzare; 2007 olitecnico di Torino 3

4 Clausola WHEE ermette di esprimere condizioni di selezione applicate singolarmente ad ogni tupla Espressione booleana di predicati redicati semplici espressioni di confronto tra attributi e costanti ricerca testuale valori NULL Trovare il codice dei fornitori di Milano SELECT Cod OM WHEE Sede='Milano'; Cod Nome NSoci Sede 1 Andrea 2 Torino 2 Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino 5 Matteo 3 Venezia Clausola WHEE (n.1) Cod 2 3 Clausola WHEE (n.2) Espressioni booleane (n.1) Trovare il codice e il numero di soci dei fornitori che non hanno sede a Milano SELECT Cod, NSoci OM WHEE Sede<>'Milano'; Trovare il codice dei fornitori di Milano con più di 2 soci SELECT Cod OM WHEE Sede='Milano' AND NSoci>2; Cod Nome NSoci Sede 1 Andrea 2 Torino 2 Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino 5 Matteo 3 Venezia Cod NSoci Cod Nome NSoci Sede 1 Andrea 2 Torino 2 Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino 5 Matteo 3 Venezia Cod 3 Espressioni booleane (n.2) Espressioni booleane (n.3) Trovare il codice e il numero di soci dei fornitori di Milano o di Torino SELECT Cod, NSoci OM WHEE Sede='Milano' O Sede='Torino'; Trovare il codice e il numero di soci dei fornitori che hanno sede a Milano e a Torino la richiesta non può essere soddisfatta ogni fornitore ha una sola sede Cod Nome NSoci Sede 1 Andrea 2 Torino 2 Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino 5 Matteo 3 Venezia Cod NSoci Cod Nome NSoci Sede 1 Andrea 2 Torino 2 Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino 5 Matteo 3 Venezia 2007 olitecnico di Torino 4

5 Operatore LIKE NomeAttributo LIKE StringaDiCaratteri icerca testuale il carattere _ rappresenta un singolo carattere qualsiasi (obbligatoriamente presente) il carattere % rappresenta una sequenza qualsiasi di n caratteri (anche vuota) SELECT Cod, Nome OM WHEE Nome LIKE 'C%'; 1 Maglia osso 40 Torino 3 Camicia Blu 48 oma 5 Gonna Blu 40 Milano 6 Bermuda osso 42 Torino icerca testuale (n.1) Trovare il codice e il nome dei prodotti il cui nome inizia con la lettera C Cod 3 4 Nome Camicia Camicia icerca testuale (n.2) icerca testuale (n.3) L attributo Indirizzo contiene la stringa Torino Indirizzo LIKE '%Torino%' Il codice fornitore è pari a 2 e è preceduto da un carattere ignoto è costituito esattamente da 2 caratteri Cod LIKE '_2' Magazzino NOT LIKE '_e%' icerca testuale (n.4) L attributo magazzino non contiene una e in seconda posizione Gestione di valori NULL (n.1) Trovare il codice e il nome dei prodotti con taglia maggiore di 44 SELECT Cod, Nome OM WHEE Taglia>44; 1 Maglia osso 40 Torino 3 Camicia Blu 48 oma 5 Gonna Blu NULL Milano 6 Bermuda osso 42 Torino Cod 2 3 Nome Jeans Camicia 2007 olitecnico di Torino 5

6 Valore NULL icerca di valori NULL Le tuple per cui la taglia è NULL non sono selezionate il predicato Taglia>44 è falso In presenza di valori NULL qualsiasi predicato di confronto è falso Operatore speciale IS NomeAttributo IS [NOT] NULL SELECT Cod, Nome OM WHEE Taglia IS NULL; icerca di valori NULL (n.1) Trovare il codice e il nome dei prodotti per cui la taglia non è indicata 1 Maglia osso 40 Torino 3 Camicia Blu 48 oma 5 Gonna Blu NULL Milano 6 Bermuda osso 42 Torino Cod 5 Nome Gonna icerca di valori NULL (n.2) Trovare il codice e il nome dei prodotti con la taglia maggiore di 44 o che potrebbero avere taglia maggiore di 44 SELECT Cod, Nome OM WHEE Taglia>44 O Taglia IS NULL; 1 Maglia osso 40 Torino 3 Camicia Blu 48 oma 5 Gonna Blu NULL Milano 6 Bermuda osso 42 Torino Cod Nome Jeans Camicia Gonna Struttura dell istruzione SELECT (2) SELECT [DISTINCT] ElencoAttributiDaVisualizzare OM ElencoTabelleDaUtilizzare [WHEE CondizioniDiTupla ]; 2007 olitecnico di Torino 6

7 Ordinamento del risultato (n.1) Ordinamento Trovare il codice dei prodotti e la loro taglia ordinando il risultato in ordine decrescente di taglia SELECT Cod, Taglia OM ODE BY Taglia DESC; 1 Maglia osso 40 Torino 3 Camicia Blu 48 oma 5 Gonna Blu 40 Milano 6 Bermuda osso 42 Torino Cod Taglia Clausola ODE BY ODE BY NomeAttributo [ASC DESC] {, NomeAttributo [ASC DESC]} l ordinamento implicito è crescente senza DESC gli attributi di ordinamento devono comparire nella clausola SELECT anche implicitamente (come SELECT *) Ordinamento del risultato (n.2) Trovare tutte le informazioni sui prodotti ordinando il risultato in ordine crescente di nome e decrescente di taglia SELECT Cod, Nome, Colore, Taglia, Magazzino OM ODE BY Nome, Taglia DESC; 1 Maglia osso 40 Torino 3 Camicia Blu 48 oma 5 Gonna Blu 40 Milano 6 Bermuda osso 42 Torino Ordinamento del risultato (n.2) Trovare tutte le informazioni sui prodotti ordinando il risultato in ordine crescente di nome e decrescente di taglia SELECT Cod, Nome, Colore, Taglia, Magazzino OM ODE BY Nome, Taglia DESC; 6 Bermuda osso 42 Torino 3 Camicia Blu 48 oma 5 Gonna Blu 40 Milano 1 Maglia osso 40 Torino Ordinamento del risultato (n.2) Trovare tutte le informazioni sui prodotti ordinando il risultato in ordine crescente di nome e decrescente di taglia SELECT * OM ODE BY Nome, Taglia DESC; 6 Bermuda osso 42 Torino 3 Camicia Blu 48 oma 5 Gonna Blu 40 Milano 1 Maglia osso 40 Torino Ordinamento del risultato (n.3) Trovare il codice dei prodotti e la taglia espressa come taglia americana, ordinando il risultato in ordine crescente di taglia SELECT Cod, Taglia-14 AS TagliaUSA OM ODE BY TagliaUSA; 1 Maglia osso 40 Torino 3 Camicia Blu 48 oma 5 Gonna Blu 40 Milano 6 Bermuda osso 42 Torino Cod TagliaUSA olitecnico di Torino 7

8 Struttura dell istruzione SELECT (3) SELECT [DISTINCT] ElencoAttributiDaVisualizzare OM ElencoTabelleDaUtilizzare [WHEE CondizioniDiTupla ] [ODE BY ElencoAttributiDiOrdinamento ]; Trovare il nome dei fornitori che forniscono il prodotto 2 Cod Nome NSoci Sede 1 Andrea 2 Torino 2 Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino 5 Matteo 3 Venezia DB forniture prodotti DB forniture prodotti rodotto cartesiano Cod Nome NSoci Sede 1 Andrea 2 Torino 2 Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino 5 Matteo 3 Venezia Trovare il nome dei fornitori che forniscono il prodotto 2 SELECT Nome OM, ; 2007 olitecnico di Torino 8

9 rodotto cartesiano.cod.nome.nsoci.sede.cod.cod.qta 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino Andrea 2 Torino Luca 1 Milano 2 Luca 1 Milano =.Cod.Nome.NSoci.Sede.Cod.Cod.Qta 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino Andrea 2 Torino Luca 1 Milano 2 Luca 1 Milano Trovare il nome dei fornitori che forniscono il prodotto 2 SELECT Nome OM, WHEE.Cod=.Cod Trovare il nome dei fornitori che forniscono il prodotto 2 SELECT Nome OM, WHEE.Cod=.Cod Condizione di join NomeTabella.NomeAttributo =.Cod.Nome.NSoci.Sede.Cod.Cod.Qta 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino Andrea 2 Torino Luca 1 Milano 2 Luca 1 Milano Cod.Nome.NSoci.Sede.Cod.Cod.Qta 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino Luca 1 Milano Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino Gabriele 2 Torino Gabriele 2 Torino olitecnico di Torino 9

10 Trovare il nome dei fornitori che forniscono il prodotto 2 SELECT Nome OM, WHEE.Cod=.Cod AND Cod='2';.Cod='2'.Cod.Nome.NSoci.Sede.Cod.Cod.Qta 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino Luca 1 Milano Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino Gabriele 2 Torino Gabriele 2 Torino Cod.Nome.NSoci.Sede.Cod.Cod.Qta 1 Andrea 2 Torino 2 Luca 1 Milano 3 Antonio 3 Milano Trovare il nome dei fornitori che forniscono il prodotto 2 Nome Andrea Luca Antonio Trovare il nome dei fornitori che forniscono il prodotto 2 in algebra relazionale Trovare il nome dei fornitori che forniscono il prodotto 2 p.nome s Cod= 2 p.nome s Cod= 2 SELECT Nome OM, WHEE.Cod=.Cod AND Cod='2'; SELECT Nome OM, WHEE Cod='2' AND.Cod=.Cod; Il risultato e l efficienza sono indipendenti dall ordine dei predicati nella clausola WHEE 2007 olitecnico di Torino 10

11 Trovare il nome dei fornitori che forniscono il prodotto 2 SELECT Nome OM, WHEE.Cod=.Cod AND Cod='2'; SELECT Nome OM, WHEE.Cod=.Cod AND Cod='2'; Dichiaratività del linguaggio SQL in algebra relazionale si definisce l ordine in cui sono applicati gli operatori in SQL l ordine migliore è scelto dall ottimizzatore indipendentemente dall ordine delle condizioni nella clausola WHEE dall ordine delle tabelle nella clausola OM Il risultato e l efficienza sono indipendenti dall ordine delle tabelle nella clausola OM Trovare il nome dei fornitori che forniscono almeno un prodotto rosso SELECT Nome OM,, WHEE.Cod=.Cod AND.Cod=.Cod AND Colore='osso'; Clausola OM con N tabelle almeno N-1 condizioni di join nella clausola WHEE Join (n.2) AS X Cod Nome NSoci Sede 1 Andrea 2 Torino 2 Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino 5 Matteo 3 Venezia D M BG Join (n.3) Trovare le coppie di codici dei fornitori tali che entrambi i fornitori abbiano sede nella stessa città SELECT X.Cod, Y.Cod OM AS X, AS Y WHEE X.Sede=Y.Sede; AS Y Cod Nome NSoci Sede 1 Andrea 2 Torino 2 Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino 5 Matteo 3 Venezia Join (n.3) Trovare le coppie di codici dei fornitori tali che entrambi i fornitori abbiano sede nella stessa città Join (n.3) Trovare le coppie di codici dei fornitori tali che entrambi i fornitori abbiano sede nella stessa città SELECT X.Cod, Y.Cod OM AS X, AS Y WHEE X.Sede=Y.Sede; Sono presenti coppie di valori uguali permutazioni della stessa coppia di valori X.Cod Y.Cod SELECT X.Cod, Y.Cod OM AS X, AS Y WHEE X.Sede=Y.Sede AND X.Cod <> Y.Cod; Elimina le coppie di valori uguali X.Cod Y.Cod olitecnico di Torino 11

12 Join (n.3) Trovare le coppie di codici dei fornitori tali che entrambi i fornitori abbiano sede nella stessa città Join (n.3) Trovare le coppie di codici dei fornitori tali che entrambi i fornitori abbiano sede nella stessa città SELECT X.Cod, Y.Cod OM AS X, AS Y WHEE X.Sede=Y.Sede AND X.Cod < Y.Cod; Elimina le permutazioni della stessa coppia di valori X.Cod Y.Cod SELECT X.Cod, Y.Cod OM AS X, AS Y WHEE X.Sede=Y.Sede AND X.Cod < Y.Cod; X.Cod 1 2 Y.Cod 4 3 Join: sintassi alternativa Join: sintassi alternativa ermette di specificare diversi tipi di join outer join ermette di distinguere condizioni di join condizioni di selezione sulle tuple Introdotta in SQL-2 recepita solo parzialmente nei prodotti commerciali SELECT [DISTINCT] Attributi OM Tabella TipoJoin JOIN Tabella ON CondizioneDiJoin [WHEE CondizioniDiTupla]; TipoJoin = < INNE [ULL LET IGHT] OUTE > INNE join OUTE join Trovare il nome dei fornitori che forniscono almeno un prodotto rosso SELECT Nome OM INNE JOIN ON.Cod=.Cod INNE JOIN ON.Cod=.Cod WHEE.Colore='osso'; Trovare il codice e il nome dei fornitori insieme al codice dei relativi prodotti forniti, visualizzando anche i fornitori che non hanno forniture SELECT.Cod, Nome, Cod OM LET OUTE JOIN ON.Cod=.Cod; 2007 olitecnico di Torino 12

13 OUTE join.cod.nome.cod 1 Andrea 1 1 Andrea 2 1 Andrea 3 1 Andrea 4 1 Andrea 5 1 Andrea 6 2 Luca 1 2 Luca 2 3 Antonio 2 4 Gabriele 3 4 Gabriele 4 4 Gabriele 5 5 Matteo NULL unzioni aggregate unzioni aggregate Una funzione aggregata opera su un insieme di valori produce come risultato un unico valore (aggregato) unzioni aggregate disponibili in SQL-2 COUNT: conteggio degli elementi in un attributo SUM: somma dei valori di un attributo AVG: media dei valori di un attributo MAX: massimo valore di un attributo MIN: minimo valore di un attributo unzioni aggregate Struttura dell istruzione SELECT (4) Una funzione aggregata opera su un insieme di valori produce come risultato un unico valore (aggregato) è indicata nella clausola SELECT SELECT ElencounzioniAggregateDaVisualizzare OM ElencoTabelleDaUtilizzare [WHEE Condizioni DiTupla ] [ODE BY ElencoAttributiDiOrdinamento ]; 2007 olitecnico di Torino 13

14 unzioni aggregate unzione COUNT Una funzione aggregata opera su un insieme di valori produce come risultato un unico valore (aggregato) è indicata nella clausola SELECT non si possono indicare anche attributi non aggregati possono essere richieste più funzioni aggregate contemporaneamente Conteggio del numero di elementi di un insieme righe di una tabella valori (eventualmente distinti) di uno o più attributi COUNT (<* [DISTINCT ALL] ListaAttributi >) unzione COUNT (n.1) unzione COUNT (n.2) Trovare il numero di fornitori SELECT COUNT(*) OM ; Cod Nome NSoci Sede 1 Andrea 2 Torino 2 Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino 5 Matteo 3 Venezia 5 Trovare il numero di fornitori che hanno almeno una fornitura SELECT COUNT(*) OM ; Conta il numero di forniture, non di fornitori 12 unzione COUNT (n.2) Trovare il numero di fornitori che hanno almeno una fornitura SELECT COUNT(Cod) OM ; Conta il numero di forniture, non di fornitori 12 unzione COUNT (n.2) Trovare il numero di fornitori che hanno almeno una fornitura SELECT COUNT(DISTINCT Cod) OM ; Conta il numero di fornitori diversi olitecnico di Torino 14

15 unzione COUNT unzioni aggregate e WHEE Conteggio del numero di elementi di un insieme righe di una tabella valori (eventualmente distinti) di uno o più attributi COUNT (<* [DISTINCT ALL] ListaAttributi >) Se l argomento della funzione è preceduto da DISTINCT, conta il numero di valori distinti dell argomento Trovare il numero di fornitori che forniscono il prodotto SELECT COUNT(*) OM WHEE Cod='2'; 3 unzioni aggregate e WHEE Le funzioni aggregate sono valutate solo dopo l applicazione di tutti i predicati nella clausola WHEE unzioni SUM, MAX, MIN, AVG SUM, MAX, MIN e AVG ammettono come argomento un attributo o un espressione SUM e AVG ammettono solo attributi di tipo numerico o intervallo di tempo MAX e MIN richiedono che l espressione sia ordinabile possono essere applicate anche su stringhe di caratteri e istanti di tempo unzione SUM Trovare la quantità totale di pezzi forniti per il prodotto 2 SELECT SUM(Qta) OM WHEE Cod='2'; olitecnico di Torino 15

16 aggruppamento aggruppamento er ogni prodotto, trovare la quantità totale di pezzi forniti Cod er ogni prodotto, trovare la quantità totale di pezzi forniti SELECT Cod, SUM(Qta) OM GOU BY Cod; Clausola di raggruppamento GOU BY GOU BY ElencoAttributiDiaggruppamento l ordine degli attributi di raggruppamento è ininfluente Nella clausola SELECT possono comparire solo attributi presenti nella clausola GOU BY funzioni aggregate GOU BY e WHEE er ogni prodotto, trovare la quantità totale di pezzi forniti da fornitori con sede a Milano Cod Nome NSoci Sede 1 Andrea 2 Torino 2 Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino 5 Matteo 3 Venezia GOU BY e WHEE er ogni prodotto, trovare la quantità totale di pezzi forniti da fornitori con sede a Milano SELECT... OM, WHEE.Cod=.Cod AND Sede='Milano'... GOU BY e WHEE er ogni prodotto, trovare la quantità totale di pezzi forniti da fornitori con sede a Milano.Cod.Nome.NSoci.Sede.Cod.Cod.Qta 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino 1 Andrea 2 Torino Luca 1 Milano Luca 1 Milano 3 Antonio 3 Milano 4 Gabriele 2 Torino Gabriele 2 Torino Gabriele 2 Torino olitecnico di Torino 16

17 GOU BY e WHEE er ogni prodotto, trovare la quantità totale di pezzi forniti da fornitori con sede a Milano GOU BY e WHEE er ogni prodotto, trovare la quantità totale di pezzi forniti da fornitori con sede a Milano SELECT Cod, SUM(Qta) OM, WHEE.Cod=.Cod AND Sede='Milano' GOU BY Cod;.Cod.Qta Cod I prodotti senza forniture non sono inclusi nel risultato SELECT.Cod, Nome, SUM(Qta) OM, WHEE.Cod=.Cod GOU BY.Cod, Nome GOU BY e SELECT er ogni prodotto, trovare il codice, il nome e la quantità totale fornita Artificio sintattico gli attributi univocamente determinati da attributi già presenti nella clausola GOU BY possono essere aggiunti senza alterare il risultato Struttura dell istruzione SELECT (5) SELECT [DISTINCT] ElencoAttributiDaVisualizzare OM ElencoTabelleDaUtilizzare [WHEE CondizioniDiTupla ] [GOU BY ElencoAttributiDiaggruppamento ] [ODE BY ElencoAttributiDiOrdinamento ]; Condizione di selezione sui gruppi Trovare la quantità totale di pezzi forniti per i prodotti per cui sono forniti in totale almeno 600 pezzi la condizione è definita su valori aggregati Non è possibile utilizzare la clausola WHEE Trovare la quantità totale di pezzi forniti per i prodotti per cui sono forniti in totale almeno 600 pezzi Condizione di selezione sui gruppi (n.1) Cod olitecnico di Torino 17

18 Condizione di selezione sui gruppi (n.1) Condizione di selezione sui gruppi (n.2) Trovare la quantità totale di pezzi forniti per i prodotti per cui sono forniti in totale almeno 600 pezzi SELECT Cod, SUM(Qta) OM GOU BY Cod HAVING SUM(Qta)>=600; La clausola HAVING permette di specificare condizioni su funzioni aggregate Trovare il codice dei prodotti rossi forniti da più di un fornitore 1 Maglia osso 40 Torino 3 Camicia Blu 48 oma 5 Gonna Blu 40 Milano 6 Bermuda osso 42 Torino Condizione di selezione sui gruppi (n.2) Trovare il codice dei prodotti rossi forniti da più di un fornitore SELECT.Cod OM, WHEE.Cod=.Cod AND Colore='osso' GOU BY.Cod HAVING COUNT(*)>1; Condizione di selezione sui gruppi (n.2) Trovare il codice dei prodotti rossi forniti da più di un fornitore.cod.cod.qta.cod.nome.colore.taglia.magazzino 1 Maglia osso 40 Torino Maglia osso 40 Torino Bermuda osso 42 Torino Cod 1 Struttura dell istruzione SELECT SELECT [DISTINCT] ElencoAttributiDaVisualizzare OM ElencoTabelleDaUtilizzare [WHEE CondizioniDiTupla ] [GOU BY ElencoAttributiDiaggruppamento ] [HAVING CondizioniSuAggregati ] [ODE BY ElencoAttributiDiOrdinamento ]; 2007 olitecnico di Torino 18

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Linguaggio SQL: fondamenti Struttura di base Clausola WHEE Ordinamento del risultato Join unzioni aggregate Operatore GOU BY Istruzione SELECT: esempio di BD forniture prodotti Istruzione SELECT: esempio

Dettagli

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

D B M G. Linguaggio SQL: fondamenti. Istruzione SELECT: fondamenti. Elena Baralis 2007 Politecnico di Torino 1. Struttura di base Linguaggio SQL: fondamenti Struttura di base Clausola WHERE Ordinamento del risultato Join Funzioni aggregate Operatore GROUP BY 2007 Politecnico di Torino 1 Istruzione SELECT: esempio Trovare il codice

Dettagli

Linguaggio SQL: fondamenti D B M G

Linguaggio SQL: fondamenti D B M G Linguaggio SQL: fondamenti Operatori insiemistici Operatore UNION Operatore INTERSECT Operatore EXCEPT Operatore UNION Operatore insiemistico di unione A UNION B Esegue l unione delle due espressioni relazionali

Dettagli

Structured Query Language

Structured Query Language IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un

Dettagli

Linguaggio SQL seconda parte

Linguaggio SQL seconda parte Linguaggio SQL seconda parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Le condizioni di ricerca 2 Le condizioni di ricerca Usate nelle

Dettagli

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

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono

Dettagli

Il linguaggio SQL: raggruppamenti

Il linguaggio SQL: raggruppamenti Il linguaggio SQL: raggruppamenti Sistemi Informativi T Versione elettronica: 04.3.SQL.gruppi.pdf Informazioni di sintesi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Operatore Operatore INTESECT Operatore EXCET Linguaggio SQL: fondamenti Operatore Operatore insiemistico di unione A B Esegue l unione delle due espressioni relazionali A e B le espressioni relazionali

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL : fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire

Dettagli

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

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno 2.3b: SQL (2) Interrogazioni semplici INFORMATICA GENERALE Prof. Alberto Postiglione Scienze

Dettagli

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

Il linguaggio SQL: raggruppamenti. Versione elettronica: SQLb-gruppi.pdf Il linguaggio SQL: raggruppamenti Versione elettronica: SQLb-gruppi.pdf Informazioni di sintesi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono a singole tuple (eventualmente

Dettagli

Caratteristiche dei linguaggi per Database

Caratteristiche dei linguaggi per Database IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;

Dettagli

Interrogazioni semplici

Interrogazioni semplici Interrogazioni semplici Lorenzo Sarti 2009 Basi di Dati 1 select Campi considerati Matricola Cognome Nome Data di nascita A80198760 Bianchi Anna 22/03/1967 A80293450 Rossi Andrea 13/04/1968 A80198330 Neri

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 (2/3) INSERT inserimento di nuove tuple

Dettagli

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

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati Basi di Dati Matteo Longhi Structured Query Language Introduzione Standard creato nel 1976 da IBM Aggiornato (versione 2 nel 1992 (ANSI X3.135 e ISO 9075 Consente di: DDL: definire la struttura del DB

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Il Linguaggio SQL Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Il Linguaggio SQL SQL (Structured Query Language) è il linguaggio di riferimento per le basi di dati

Dettagli

Basi di dati. Linguaggio SQL: fondamenti - Introduzione. Elena Baralis 2007 Politecnico di Torino 1 D B M G 2 D B M G D B M G 4 D B M G 6

Basi di dati. Linguaggio SQL: fondamenti - Introduzione. Elena Baralis 2007 Politecnico di Torino 1 D B M G 2 D B M G D B M G 4 D B M G 6 Linguaggio SQL: fondamenti Sistemi informativi Istruzione : fondamenti Interrogazioni nidificate Operatori insiemistici Istruzioni di aggiornamento Gestione delle tabelle 2 al linguaggio SQL Istruzioni

Dettagli

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 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 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 Operatori aggregati Costituiscono una estensione delle normali interrogazioni SQL (non hanno corrispondenza in

Dettagli

Monday, January 24, 2011 SQL

Monday, January 24, 2011 SQL SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono

Dettagli

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

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi Informatica della Facoltà di Lingue e Letterature dell Università degli Studi di Torino. Qualsiasi altro Query (Interrogazioni) SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il

Dettagli

Manuale SQL. Manuale SQL - 1 -

Manuale SQL. Manuale SQL - 1 - Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,

Dettagli

<Nome Tabella>.<attributo>

<Nome Tabella>.<attributo> Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto

Dettagli

Operatori aggregati: COUNT

Operatori aggregati: COUNT Operatori aggregati: COUNT Il numero di figli di select count(*) as NumFigliDi where Padre = '' Paternità Padre Sergio Figlio Olga Filippo Andrea Aldo l operatore aggregato (count) viene applicato al risultato

Dettagli

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

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è

Dettagli

Lezione 7 SQL (II) Basi di dati bis Docente Mauro Minenna Pag.1

Lezione 7 SQL (II) Basi di dati bis Docente Mauro Minenna  Pag.1 Lezione 7 SQL (II) Pag.1 Ancora sugli operatori di confronto tra insiemi Abbiamo già visto IN, EXISTS e UNIQUE. Possiamo anche usare NOT IN, NOT EXISTS e NOT UNIQUE Disponibili anche: op ANY, op ALL Trovare

Dettagli

Algebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale.

Algebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale. Algebra relazionale Algebra relazionale Introduzione Selezione e proiezione Prodotto cartesiano e join Natural join, theta-join e semi-join Outer join Unione e intersezione Differenza e antijoin Divisione

Dettagli

Idoneita Informatica. Sistemi per la gestione di basi di Dati

Idoneita Informatica. Sistemi per la gestione di basi di Dati Idoneita Informatica Sistemi per la gestione di basi di Dati Prof. Mauro Gaspari mauro.gaspari@unibo.it Rielaborazione delle slide del Dott. Matteo Magnani e del Dott. Nicola Dragoni 1 Sistema Informativo

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 5 Raffaella Gentilini 1 / 22 Sommario 1 Gruppi 2 / 22 Raggruppamenti Gruppi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono a

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 3 Raffaella Gentilini 1 / 52 Sommario 1 Il DML di SQL: Interrogazione di una BD 2 / 52 Data Manipulation Language (DML) Istruzioni del DML Le istruzioni del DML

Dettagli

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"

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 SQL SQL: "storia Sviluppato nella metà degli anni settanta (194) presso il laboratorio di ricerca IBM di S.Josè Dal 1983 ca. "standard di fatto" E il linguaggio di riferimento per l interrogazione di DBMS

Dettagli

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

SQL [2] Concetti avanzati di SQL. Esempi di interrogazioni SQL [2] Concetti avanzati di SQL 2 Esempi di interrogazioni 3 Esempi di interrogazioni 4 Esempi di interrogazioni 5 Confronti che coinvolgono NULL NULL può voler dire: valore sconosciuto (esiste ma non

Dettagli

Estensioni del linguaggio SQL per interrogazioni OLAP

Estensioni del linguaggio SQL per interrogazioni OLAP Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano Estensioni del linguaggio SQL per interrogazioni OLAP Esempio! Esempio delle vendite con scontrino (nella tabella, per

Dettagli

SELECT s.nome, e.data Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola

SELECT s.nome, e.data Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola SQL SELECT s.nome, e.data FROM Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola SELECT s.nome As Nome, 2002 - s.annonascita As Eta, 0 As NumeroEsami FROM Studenti

Dettagli

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

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri

Dettagli

SELECT s.nome, e.data FROM Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola

SELECT s.nome, e.data FROM Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola SQL, e.data, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola As Nome, 2002 - s.annonascita As Eta, 0 As NumeroEsami WHERE NOT EXISTS (SELECT * WHERE e.matricola = s.matricola

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

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

SQL. SQL: una visione panoramica. SQL: "storia" Definizione dei dati

SQL. SQL: una visione panoramica. SQL: storia Definizione dei dati SQL SQL: una visione panoramica I lucidi presentati sono liberamente ispirati al contenuto del Capitolo 4 del libro Atzeni, Ceri, Paraboschi, Torlone Basi di dati - McGraw-Hill, 1999 Structured Query Language

Dettagli

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

Linguaggio SQL. studenti matricola nome cognome citta anno 11 marco bini bologna 1985 13 laura sicuro rimini 1984 esami codice Linguaggio SQL Il linguaggio SQL (Structured Query Language) è il linguaggio standard per la definizione, manipolazione e interrogazione delle basi di dati relazionali sostenuti codice matricola anno voto

Dettagli

SQL. Argomenti della lezione. Join esplicito. Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate

SQL. Argomenti della lezione. Join esplicito. Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate Argomenti della lezione SQL Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate Maternità Paternità Madre Figlio Olga Filippo Sergio Olga Filippo Persone

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

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

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma SQL: Structured Query Language 1 SQL:Componenti Principali Data Manipulation Language (DML): interrogazioni, inserimenti, cancellazioni, modifiche Data Definition Language (DDL): creazione, cancellazione

Dettagli

SQL e algebra relazionale

SQL e algebra relazionale SQL e algebra relazionale Il linguaggio SQL consente una maggiore espressività dell algebra relazionale grazie a costrutti che permettono: di definire join più sofisticati di ordinare le righe dei risultati

Dettagli

Esempi SQL con Access. Orazio Battaglia

Esempi SQL con Access. Orazio Battaglia con Access Orazio Battaglia Consideriamo la base di dati in figura. 2 Interrogazione 1: Selezioniamo tutti gli impiegati, vogliamo Cognome, Nome e Posizione SELECT Impiegati.Cognome, Impiegati.Nome, Impiegati.Posizione

Dettagli

CORSO ACCESS 2000 PARTE VI

CORSO ACCESS 2000 PARTE VI Le Query Le Query selezionano dati, da una o più tabelle in un database, che soddisfano determinati requisiti e visualizzano i risultati in un foglio dati. I dati richiesti vengono visualizzati in un recordset

Dettagli

SQL - Sottointerrogazioni correlate

SQL - Sottointerrogazioni correlate SQL - Sottointerrogazioni correlate negli esempi visti ogni subquery viene eseguita una volta per tutte ed il valore (o insieme di valori) è usato nella clausola WHERE della query esterna è possibile definire

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2016/2017 4 SQL : Structured Query Language Tiziana Catarci Ultimo aggiornamento : 22/02/2016 SQL : Structured

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 Il Linguaggio SQL SQL (Structured Query Language) è di fatto lo standard tra i linguaggi per la gestione di basi di dati relazionali è un linguaggio dichiarativo (non-procedurale),

Dettagli

Basi di Dati. S Q L Lezione 2

Basi di Dati. S Q L Lezione 2 Basi di Dati S Q L Lezione 2 Antonio Virdis a.virdis@iet.unipi.it Sommario Unire più tabelle Operazioni algebriche Ridenominazione Query annidate 2 Unire piu' relazioni Nella progettazione di un DB le

Dettagli

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

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) 1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2015/2016 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2015-16.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it

Dettagli

Trasparenze rielaborate da Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999 Capitolo 4: SQL-2, seconda parte.

Trasparenze rielaborate da Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999 Capitolo 4: SQL-2, seconda parte. Trasparenze rielaborate da Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999 Capitolo 4: SQL-2, seconda parte 11/03/2005 Maternità Legami logici Paternità Madre Luisa Luisa Anna Anna Padre

Dettagli

APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio

APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio INTRODUZIONE L algebra relazionale è l algebra su cui si basa il linguaggio

Dettagli

Esercitazione 1 Algebra relazionale

Esercitazione 1 Algebra relazionale Esercitazione 1 Algebra relazionale Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E1-1 Base di dati Fornitori Fornitori (CodFornitore, Nome, Indirizzo, Città) Prodotti (CodProdotto, Nome, Marca, Modello)

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

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

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

Basi di dati (4) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. Argomento: select (1. Università di Modena e Reggio Emilia Basi di dati (4) Docente: andrea.bulgarelli@gmail.com Argomento: select (1.0) 1 Panoramica Select Joins Subquery Wildcard Esempi 2 SELECT SELECT [DISTINCT] [TOP n]

Dettagli

Alessandra Raffaetà. Esercizio: Cinema

Alessandra Raffaetà. Esercizio: Cinema Lezione 8 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Esercizio: Cinema

Dettagli

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà Lezione 8 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Esercizio: Cinema

Dettagli

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati Sommario - Progettazione di un database - Join - Valore NULL - Operatori aggregati Progettazione di un database - In un database c'è una marcata distinzione tra i valori in esso contenuti e le operazioni

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

Basi di Dati. S Q L Lezione 4

Basi di Dati. S Q L Lezione 4 Basi di Dati S Q L Lezione 4 Antonio Virdis a.virdis@iet.unipi.it Sommario Espressioni condizionali Query nella SELECT Raggruppamento di tuple Condizioni sui gruppi 2 Esercizio 6 (lezione 3) Indicare nome

Dettagli

Tabelle esempio: Impiegato/Dipartimento

Tabelle esempio: Impiegato/Dipartimento Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (3) Insiemistiche e Nidificate Prof. Alberto Postiglione

Dettagli

Informatica B. Introduzione alle Basi di Dati e ai DBMS

Informatica B. Introduzione alle Basi di Dati e ai DBMS ormatica B Introduzione alle Basi di Dati e ai DBMS ormazioni e dati Dato: elemento semanticamente significativo (data, codice, ecc.), generalmente in formato numerico o testuale, che l azienda è interessata

Dettagli

Basi di Dati. Esercitazione 1: Interrogazioni in SQL. K. Donno - Interrogazioni in SQL

Basi di Dati. Esercitazione 1: Interrogazioni in SQL. K. Donno - Interrogazioni in SQL Basi di Dati Esercitazione 1: Interrogazioni in SQL DB di riferimento per esempi Consideriamo i seguenti schemi di una base di dati relazionale: PremioProduzione, DataAssunzione) Viene data la seguente

Dettagli

Introduzione alle basi di dati

Introduzione alle basi di dati Introduzione alle basi di dati Marco Botta botta@di.unito.it www.di.unito.it/~botta/didattica/bioinfo.html 1 Sistema Informativo Insieme di strutture in grado di acquisire, elaborare, trasmettere ed archiviare

Dettagli

Lezione 6. Algebra e Calcolo Relazionale

Lezione 6. Algebra e Calcolo Relazionale Lezione 6 Algebra e Calcolo Relazionale 1 Sommario Esempio di Applicazione con Database (AZIENDA) Algebra Relazionale Operazioni Relazionali Unarie Operazioni dell Algebra Relazionale dalla teoria degli

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

Informatica B. Introduzione alle Basi di Dati e ai DBMS

Informatica B. Introduzione alle Basi di Dati e ai DBMS ormatica B Introduzione alle Basi di Dati e ai DBMS ormazioni e dati Dato: elemento semanticamente significativo (data, codice, ecc.), generalmente in formato numerico o testuale, che l azienda è interessata

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

Esempio di database relazionale con l utilizzo del prodotto MySQL

Esempio di database relazionale con l utilizzo del prodotto MySQL Esempio di database relazionale con l utilizzo del prodotto MySQL Marco Liverani Aprile 2015 In queste pagine viene riportato in sintesi il progetto di un database relazionale esemplificativo con cui viene

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezioni 6 7 Raffaella Gentilini 1 / 46 Sommario 1 Subquery (o Interrogazioni Nidificate) Interrogazioni Annidate con Predicati di Confronto Interrogazioni Annidate con

Dettagli

Basi di Dati prof. Letizia Tanca

Basi di Dati prof. Letizia Tanca Basi di Dati prof. Letizia Tanca (lucidi tratti dal libro Atzeni-Ceri-Paraboschi-Torlone) Linguaggi di interrogazione commerciali per il Modello Relazionale dei Dati: SQL - il DML Linguaggi di interrogazione

Dettagli

DataBase Management System - DBMS

DataBase Management System - DBMS DataBase Management System - DBMS Un sistema per la gestione di basi di dati o DBMS (Data Base Management System) è un sistema software in grado di gestire collezioni di dati che siano grandi condivise

Dettagli

Business Intelligence

Business Intelligence Business Intelligence Esercitazione di Laboratorio N. 1 L esercitazione ha come obiettivo l interrogazione di una base di dati relazionale mediante query SQL su un DBMS Oracle XE. Schema logico della basi

Dettagli

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la base di dati relazionale contenente le seguenti relazioni:

Dettagli

Linguaggio SQL. Prof. Giuseppe Tandoi

Linguaggio SQL. Prof. Giuseppe Tandoi Caratteristiche generali SQL è uno strumento per organizzare gestire recuperare dati memorizzati in DataBase organizzati su base Relazionale. Caratteristiche generali SQL è l'acronimo di Structured Query

Dettagli

SQL QUERY: Le interrogazioni del database

SQL QUERY: Le interrogazioni del database Appunti della lezione di Database del 20 ottobre 2016 (mattina) Studenti: D Amuri Giuseppe, De Luca Federico Professore: Mario Bochicchio SQL QUERY: Le interrogazioni del database Per effettuare un interrogazione

Dettagli

Basi di dati e Sistemi informativi aziendali

Basi di dati e Sistemi informativi aziendali Sistemi informativi Linguaggio SQL: fondamenti Istruzione SELECT: fondamenti Interrogazioni nidificate Operatori insiemistici Istruzioni di aggiornamento Gestione delle tabelle 2 2007 Politecnico di Torino

Dettagli

Capitolo 4. SQL: il linguaggio di interrogazione. Originato da SEQUEL-XRM e System-R ( ) dell IBM

Capitolo 4. SQL: il linguaggio di interrogazione. Originato da SEQUEL-XRM e System-R ( ) dell IBM Capitolo 4 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

Dettagli

STUDIO. Esercizi proposti a lezione cap. 3 rev. dic. 2007 da Ulmann, Widom Introduzione ai database. indirizzo. titolo. nome. recitain. attori.

STUDIO. Esercizi proposti a lezione cap. 3 rev. dic. 2007 da Ulmann, Widom Introduzione ai database. indirizzo. titolo. nome. recitain. attori. Basi di dati ad oggetti:un esempio ODL-OQL 1. Caso filmoteca: modello dei dati lunghezza tipo_pellicola via città indirizzo titolo anno FILM attori recitain ATTORE nome posseduto da lunghezza_in_ore (

Dettagli

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

3 SQL : Interrogazioni

3 SQL : Interrogazioni Corso di Laurea in Ingegneria Gestionale SAPIENZA Università di Roma Esercitazioni del corso di Basi di Dati Prof.ssa Catarci e Prof.ssa Scannapieco Anno Accademico 2010/2011 Andrea Marrella Ultimo aggiornamento

Dettagli

Esercizio con attributo cross-dimensionale - transazionale

Esercizio con attributo cross-dimensionale - transazionale Esercizio con attributo cross-dimensionale - transazionale TIPO (,CITTA) DI QTY CITTA (,ANNO) SCONTRINO(NSC, :) (,TIPO) VENDITA IN VENDITA(NSC:SCONTRINO,:, :,QTY,PU) IN PU NSC ANNO SCONTRINO DEL Viene

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

MODULO 2. Query normali e parametriche Query di:

MODULO 2. Query normali e parametriche Query di: MODULO 2 TITOLO DBMS e SQL In questo Modulo si affronta lo studio dei DBMS Access e MySQL. In particolare per Access, si descrive come progettare, impostare e modificare gli strumenti di lavoro (tabelle,

Dettagli

Il linguaggio SQL: le viste

Il linguaggio SQL: le viste Il linguaggio SQL: le viste Basi di dati 1 Il linguaggio SQL: le viste Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il linguaggio SQL: le viste Basi di dati 2 Introduzione

Dettagli

Interrogazioni con ANY e ALL. Operatori ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL

Interrogazioni con ANY e ALL. Operatori ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL Interrogazioni con ANY e ALL Operatori ANY e ALL Sintassi: WHERE Attributo OperatoreConfronto [ANY ALL] (SelectAttributoSingolo) ANY: la riga soddisfa la condizione se risulta vero il confronto con almeno

Dettagli

Il linguaggio SQL: query innestate

Il linguaggio SQL: query innestate Il linguaggio SQL: query innestate Sistemi Informativi T Versione elettronica: 04.4.SQL.subquery.pdf DB di riferimento per gli esempi Imp CodImp Nome Sede Ruolo Stipendio E001 Rossi S01 Analista 2000 E002

Dettagli

3. Selezionare i nomi dei clienti che iniziano con le lettere P, Q, R, S

3. Selezionare i nomi dei clienti che iniziano con le lettere P, Q, R, S Esercitazione di SQL Corso di Basi di Dati 1. Visualizzare i clienti in ordine alfabetico select * order by nomesocietà 2. Visualizzare i clienti che non hanno il fax where fax is null 3. Selezionare i

Dettagli

Data warehouse Analisi dei dati

Data warehouse Analisi dei dati atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of B MG ata warehouse: analisi dei dati atabase and data mining group, M B G ata warehouse Analisi dei dati

Dettagli

Sommario. Introduzione... 13

Sommario. Introduzione... 13 Sommario Introduzione... 13 1. Database pro e contro... 19 A cosa serve conoscere i database?...19 Le alternative alla gestione manuale...22 Quando non serve un database?...24 Domande ed esercizi...26

Dettagli

CAPITOLO V. DATABASE: Il modello relazionale

CAPITOLO V. DATABASE: Il modello relazionale CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono

Dettagli

ALGEBRA RELAZIONALE. L algebra relazionale

ALGEBRA RELAZIONALE. L algebra relazionale ALGEBRA RELAZIONALE 2 L algebra relazionale L insieme principale di operazioni per il modello relazionale è l algebra relazionale. Le operazioni dell algebra relazionale consentono all utente di specificare

Dettagli

Data Management Software. Il linguaggio SQL. Query Innestate. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003

Data Management Software. Il linguaggio SQL. Query Innestate. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003 DB2 Data Management Software Il linguaggio SQL Query Innestate Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute

Dettagli

Basi di Dati. Esercitazione SQL. Paolo Papotti. 19 maggio 2005

Basi di Dati. Esercitazione SQL. Paolo Papotti. 19 maggio 2005 Basi di Dati Esercitazione SQL 19 maggio 2005 Paolo Papotti Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello) Catalogo

Dettagli

SQL - Structured Query Language

SQL - Structured Query Language SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente

Dettagli

SQL seconda 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 seconda 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 seconda 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 Interrogazioni nidificate Interrogazioni nidificate 2 Si ottiene una interrogazione nidificata quando un interrogazione

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

Algebra relazionale 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 2012/13

Algebra relazionale 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 2012/13 Algebra relazionale 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 2012/13 Riepilogo operatori algebra Operatori insiemistici Applicabili SOLO a relazioni con lo stesso schema: BASE

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2016/2017 7 SQL : Check, Asserzioni,Viste Tiziana Catarci Ultimo aggiornamento : 22/02/2017 Costrutti Avanzati

Dettagli