Basi di Dati. Esercitazione SQL. Ing. Paolo Cappellari



Похожие документы
Basi di Dati. Esercitazione SQL. Paolo Papotti. 19 maggio 2005

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006

Basi di Dati. Esercitazione Algebra Relazionale. 16 maggio 2008

ed SQL 10 Novembre 2009

Esercitazione su SQL

Esercitazione Algebra Relazionale

Basi di Dati Corso di Laura in Informatica Umanistica

1) Semplicissimi esercizi introduttivi

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

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica

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

Data la seguente tabella :

4 SQL : Interrogazioni nidificate

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

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

SQL: definizione schema

Interrogazioni complesse. SQL avanzato 1

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

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

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

Corso di Laboratorio di Basi di Dati

Data management a.a Il linguaggio SQL

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

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

Sistemi per la gestione di database: MySQL ( )

Istruzioni DML di SQL

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

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

Corso di Basi di Dati

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

CAPITOLO 4 ESERCIZI SU SQL

(a) Trovare le informazioni dei viaggi di durata inferiore ai 15 giorni select * from Viaggio where Durata <15

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

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

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

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

Structured Query Language parte 1

Gli operatori relazionali

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

marca (1,n) (1,1) nome prezzou prodotto nome responsabile quantità nome datai dataf (0,n) vendite (0,n) (0,n) (0,n) tempo acquisti quantità (0,n)

Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Esame di Sistemi Informativi e Basi di Dati 6 crediti Aprile 2006

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

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:

Corso di Basi di Dati A.A. 2014/2015

Il linguaggio SQL: query innestate

MAX, SUM, AVG, COUNT)

Prova Scritta di Basi di Dati

Il linguaggio SQL: viste e tabelle derivate

Prova scritta. Mercoledì 23 Luglio Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

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

SQL (STRUCTURED QUERY LANGUAGE)

Prova scritta. Giovedì 02 Ottobre Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

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

CONCETTO DI ANNIDAMENTO

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

Prova scritta. Mercoledì 11 Febbraio Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

Basi di Dati. Esercizi di SQL (2) - Soluzioni

Basi Di Dati, 09/12/2003

Esercitazione Simulazione Compito

Volumi di riferimento

Basi di Dati Esercitazione JDBC

Modello concettuale dei dati. Paolo Brunasti - UniMiB 1 / 12

1.Tutte 2.Spesso P.IVAe le CF volte che si visualizza i dati un fornitore si mostranoanche. La mensa. La mensa

SQL/OLAP. Estensioni OLAP in SQL

DBMS (Data Base Management System)

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

OR true null false true true true true null true null null false true null false NOT

Esercizio ER 1. Soluzione ER 1

Esercitazione SQL. Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica

Rassegna sui principi e sui sistemi di Data Warehousing

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

Dispensa di database Access

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

SQL - Funzioni di gruppo

UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME

Il linguaggio SQL: le basi

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Appello di BD del Corso di laurea in Informatica del 9/1/2007 Compito e soluzioni

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

Titolo. Manuale Configurazione ODBC Firebird

Compito Basi di Dati. Tempo concesso: 90 minuti 18 Gennaio 2007 Nome: Cognome: Matricola:

SQL IL LINGUAGGIO DI INTERROGAZIONE

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

1. esprimere in algebra relazionale la seguente interrogazione. Estrarre nome, e cognome dei clienti che hanno noleggiato auto di categoria Executive

Транскрипт:

Basi di Dati Esercitazione SQL Ing. Paolo Cappellari

Esercitazione Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello) Catalogo (CodiceFornitore, CodiceProdotto, Costo) 2

Esercitazione Formulare in SQL una interrogazione per ciascuno dei seguenti punti: 1. Trovare i codici di tutti i prodotti che sono forniti da almeno due fornitori. 2. Trovare i prodotti venduti in viale Marconi o in via Roma. 3. Trovare i nomi dei fornitori la cui sede non è in un viale. 3

Le Relazioni Nome CodiceFornitore Indirizzo Città Ladroni 001 Via Ostense Roma Risparmietti 002 Viale Marconi Roma Teloporto 010 Via Roma Milano CodiceFornitore CodiceProdotto Costo 001 0002 3.200 001 0003 2.200 002 0001 1.900 002 0002 2.500 002 0003 1.800 010 0001 2.200 010 0003 2.000 CodiceProdotto Nome Marca Modello 0001 Notebook IBM 390 x 0002 Desktop IBM 510 0003 Desktop ACER 730 Fornitori Catalogo Prodotti 4

Esercizio 5 5. Trovare i codici di tutti i prodotti che sono forniti da almeno due fornitori. 5

Esercizio 5 5. Trovare i codici di tutti i prodotti che sono forniti da almeno due fornitori. SELECT DISTINCT C.CodiceProdotto FROM Catalogo AS C, Catalogo AS C1 WHERE C.CodiceFornitore<>C1.CodiceFornitore AND C.CodiceProdotto=C1.CodiceProdotto 6

Esercizio 5 Selezione su un solo prodotto ( 0001 ) Codice Prodotto Codice Fornitore Costo Codice Prodotto Codice Fornitore Costo 0001 002 1900 0001 002 1900 0001 002 1900 0001 010 2200 JOIN e selezione su un solo prodotto ( 0001 ) Codice Prodotto Codice Fornitore Costo Codice Prodotto1 Codice Fornitore1 Costo1 0001 002 1900 0001 002 1900 0001 002 1900 0001 010 2200 0001 10 2200 0001 002 1900 0001 10 2200 0001 010 2200 7

Esercizio 5 5. Trovare i codici di tutti i prodotti che sono forniti da almeno due fornitori. Algebra Relazionale: π CodiceProdotto ( σ CodiceFornitore <> CF ( Catalogo π CF,CodiceProdotto ( (ρ CF CodiceFornitore (Catalogo))))) CodiceProdotto 0001 0002 0003 8

Esercizio 6 6. Trovare i prodotti venduti in viale Marconi o in via Roma ; mostrare: modello del prodotto e nome e città del fornitore. 9

Esercizio 6 6. Trovare i prodotti venduti in viale Marconi o in via Roma ; mostrare: modello del prodotto e nome e città del fornitore. SELECT P.modello, F.Nome, F.Citta FROM Prodotti P JOIN Catalogo C ON C.CodiceProdotto=P.CodiceProdotto JOIN Fornitori AS F ON F.CodiceFornitore=C.CodiceFornitore WHERE OR F.Indirizzo='viale Marconi' F.Indirizzo='via Roma'; 10

Esercizio 7 7. Trovare i nomi dei fornitori la cui sede non è in un viale. 11

Esercizio 7 7. Trovare i nomi dei fornitori la cui sede non è in un viale. SELECT Nome FROM Fornitori WHERE Indirizzo NOT LIKE 'viale%'; 12

8. Trovare il numero dei fornitori che lavorano a Roma. Esercizio 8 13

Esercizio 8 8. Trovare il numero dei fornitori che lavorano a Roma. SELECT count(*) FROM Fornitori WHERE Citta = 'Roma'; 14

9. Costruire l elenco dei prodotti offerti, visualizzando Codice e Costo del prodotto e Nome del fornitore presso cui è venduto, e ordinarlo come ascendente rispetto al codice e al costo del prodotto (prima rispetto al codice poi al costo). Esercizio 9 15

Esercizio 9 9. Costruire l elenco dei prodotti offerti, visualizzando Codice e Costo del prodotto e Nome del fornitore presso cui è venduto, e ordinarlo come ascendente rispetto al codice e al costo del prodotto (prima rispetto al codice poi al costo). SELECT C.CodiceProdotto, C.Costo, F.Nome FROM Catalogo AS C, Fornitori AS F WHERE C.CodiceFornitore = F.CodiceFornitore ORDER BY C.CodiceProdotto ASC, C.Costo ASC 16

Esercizio 10 10. Trovare il costo del prodotto più caro venduto a Milano. 17

Esercizio 10 10. Trovare il costo del prodotto più caro venduto a Milano. SELECT max(costo) FROM Catalogo C JOIN Fornitori F ON F.CodiceFornitore = C.CodiceFornitore WHERE Citta = 'Milano'; 18

Esercizio 11 11. Trovare il costo medio dei prodotti forniti in ciascuna città (visualizzare costo e città). 19

Esercizio 11 11. Trovare il costo medio dei prodotti forniti in ciascuna città (visualizzare costo e città). SELECT avg(costo) AS CostoMedio, F.Citta FROM Catalogo AS C, Fornitori AS F WHERE C.CodiceFornitore = F.CodiceFornitore GROUP BY F.Citta 20

Esercizio 11 Notiamo che l interrogazione: SELECT Costo, F.Citta FROM Catalogo AS C, Fornitori AS F WHERE C.CodiceFornitore=F.CodiceFornitore restituisce: media: 2.320 media: 2.100 Costo Città 2.200 Roma 3.200 Roma 1.900 Roma 2.500 Roma 1.800 Roma 2.200 Milano 2.000 Milano 21

Esercizio 12 12. Per ogni città, trovare il numero delle offerte, ovvero il numero dei beni venduti in ogni città. 22

Esercizio 12 12. Per ogni città, trovare il numero delle offerte, ovvero il numero dei beni venduti in ogni città. SELECT Citta, count(codiceprodotto) FROM Catalogo C JOIN Fornitori F ON F.CodiceFornitore = C.CodiceFornitore GROUP BY F.Citta; 23

Esercizio 13 13. Trovare il codice del prodotto più costoso tra quelli distribuiti dai fornitori presenti a Roma. 24

Esercizio 13 13. Trovare il codice del prodotto più costoso tra quelli distribuiti dai fornitori presenti a Roma. SELECT DISTINCT C.CodiceProdotto FROM Fornitori AS F, Catalogo AS C WHERE F.CodiceFornitore = C.CodiceFornitore AND F.Citta = 'Roma' AND C.Costo = (SELECT MAX(costo) FROM Fornitori F1, Catalogo C1 WHERE F1.CodiceFornitore = C1.CodiceFornitore AND F1.Citta = 'Roma') 25

Esercizio 13 dove: MaxCosto 3.200 SELECT MAX(costo) FROM Fornitori F1, Catalogo C1 WHERE F1.CodiceFornitore = C1.CodiceFornitore AND F1.Citta = 'Roma' N.B. Gli op. aggregati non fanno selezione, restituiscono valori su insieme. Non è quindi un query valida: SELECT C.CodiceProdotto, MAX(costo) [ ] 26

14. Trovare presso quale fornitori conviene comprare i singoli prodotti (chi vende a meno un determinato prodotto?); mostrare: Nome del fornitore, Codice e Costo del prodotto. Esercizio 14 27