SQL. Esercitazione 6-7. Contatti: Dott.ssa Silvia Bonfanti

Documenti analoghi
SQL. Esercitazione. Contatti: Dott. Domenico Fabio Savo

Algebra Relazionale. Esercitazione 4. Contatti: Dott.ssa Silvia Bonfanti

Progettazione Logica. Esercitazione 3. Contatti: Dott.ssa Silvia Bonfanti

Select Anagrafiche, Movimenti From Descrizione? Where Anagrafiche.Codice=Codice And Cognome=' Bianchi ';

Laboratorio di Basi di dati Soluzioni della V esercitazione - 23 aprile 2007

Progettazione Concettuale

Basi di dati: appello 14/07/06

Laura Farinetti - DAUIN Politecnico di Torino. Sia dato lo schema relazionale costituito dalle tabelle (le chiavi primarie sono sottolineate)

PROGETTAZIONE DI DATABASE Linguaggio SQL

Laboratorio di Basi di Dati

Basi di dati: appello 04/07/06

Linguaggio SQL seconda parte

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di dati: appello 09/03/07

Esercitazione 1. ogni tupla contribuisce al risultato: Impiegato Reparto Rossi. Bruni. Bianchi

Esercitazione 6 SQL 3

Data management a.a Il linguaggio SQL

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

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

Basi di Dati Esempi di SQL

Laura Farinetti - DAUIN Politecnico di Torino. Sia dato lo schema relazionale costituito dalle tabelle (le chiavi primarie sono sottolineate)

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

Basi di Dati. Esercitazione SQL. 17 novembre 2011

Basi di Dati Corso di Laura in Informatica Umanistica

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

Versione 1.0. (DB Musei)

Fondamenti di Informatica

IL LINGUAGGIO SQL LE BASI

QL (Query Language) Alice Pavarani

Business Intelligence

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

Seconda esercitazione su SQL (con soluzioni) Basi di dati A.A. 2017/18 Maurizio Lenzerini

Corso sul linguaggio SQL

Basi di dati I 19 settembre 2016 Tempo a disposizione: un ora e 45 minuti.

Sistemi di Elaborazione delle Informazioni

Interrogazioni semplici

S Q L E S E R C I Z I

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

ESERCIZIO 1. B. Estrarre nome, cognome e codice degli utenti che non hanno mai preso in prestito libri di informatica.

Interrogazioni complesse. SQL avanzato 1

Esempi SQL con Access. Orazio Battaglia

Basi di Dati Esempi di SQL

Basi di dati: appello 07/02/06

Corso di. Basi di Dati I. 11. Esercitazioni in SQL: Altri esercizi

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti.

Lezioni di Laboratorio sui Data Base

Vincoli di integrità generici: check

Select From Where...

Structured Query Language

Basi di Dati e Sistemi Informativi

Basi di dati I 6 settembre 2018 Tempo a disposizione: un ora e 45 minuti.

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

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

Esercizi proposti su SQL SELECT base. Laura Farinetti - DAUIN Politecnico di Torino

Istituto Statale E.Torricelli Liceo Scientifico Tecnologico-Tecnico Industriale. Compiti Estivi Informatica

SQL: le funzioni di aggregazione

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

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

Basi di Dati Corso di Laura in Informatica Umanistica

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

Microsoft Access. Relazioni e query SQL. Domenico Fabio Savo

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

PRODOTTO CARTESIANO Caso Generale

Basi di dati I 10 luglio 2017 Tempo a disposizione: un ora e 30 minuti.

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni

SQL: definizione schema

Corso di Informatica Medica

Basi di dati I 27 gennaio 2016 Esame Compito A Tempo a disposizione: un ora e quarantacinque minuti. Libri chiusi.

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Esercizi SQL. Credits Prof. Campi

Esercizi proposti su SQL - SELECT avanzata. Laura Farinetti - DAUIN Politecnico di Torino

Linguaggio SQL: esempi di query. a cura del Prof. Claudio Traini

Eprogram ITIS V anno Unità 4 - Il linguaggio SQL

Prova Scritta di Basi di Dati

formulare in SQL una interrogazione per ciascuno dei seguenti punti:

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

Il linguaggio SQL: raggruppamenti

SQL - Structured Query Language

Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018

DATABASE CLIENTIRAPPRESENTANTI

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a

1 Database universitario

Basi di Dati: Corso di laboratorio

Corso di Informatica Linguaggio SQL seconda parte

Basi di dati Corso di Laurea in Informatica Umanistica

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

SQL /10/2016 Basi di dati - SQL 1

Corso di Basi di Dati

#$ % & * * (+,- .#$ * +/ #$ ! "

Fondamenti di Informatica A.A. 2017/18

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

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

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

Basi di dati: appello 28/02/06

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

Basi di Dati: Corso di laboratorio

Transcript:

SQL Esercitazione 6-7 Contatti: Dott.ssa Silvia Bonfanti silvia.bonfanti@unibg.it

Esercizio 1: Cinema Sala (numero, num_posti, dim_schermo, num_file, num_posti_per_fila, tipo) Constraints su Sala: tipo= 3-D OR tipo= tradizionale Proiezione (num_proiezione, sala, film_proiettato, data, ora) Biglietto (proiezione, num_fila, num_posto, data_vendita, prezzo) Film (cod, titolo, anno, durata, lingua)

Esercizio 1: Cinema Con riferimento allo schema logico «Cinema», svolgere le seguenti Query utilizzando il linguaggio SQL

Esercizio 1: Cinema Quali film sono stati proiettati in sala 1 e in sala 2 ma non in sala 3? SELECT film_proiettato FROM (SELECT film_proiettato FROM Proiezione WHERE sala=1 OR sala=2 GROUP BY film_proiettato HAVING COUNT(DISTINCT sala)=2) AS T WHERE T.film_proiettato NOT IN (SELECT film_proiettato FROM Proiezione WHERE sala=3)

Esercizio 1: Cinema In quali sale sono stati proiettati film di durata maggiore di 60 minuti ma non in lingua italiana?

Esercizio 1: Cinema In quali sale sono stati proiettati film di durata maggiore di 60 minuti ma non in lingua italiana? SELECT sala FROM Proiezione Inner Join Film ON film_proiettato=cod WHERE durata>60 and lingua<> italiano

Esercizio 1: Cinema Elenco dei film (cod, titolo) con relativo numero di proiezioni

Esercizio 1: Cinema Elenco dei film (cod, titolo) con relativo numero di proiezioni SELECT cod, titolo, COUNT(*) AS NUM_PROIEZIONI FROM Proiezione Inner Join Film ON film_proiettato=cod GROUP BY cod, titolo

Esercizio 1: Cinema Quanti film differenti sono stati proiettati in sala 2?

Esercizio 1: Cinema Quanti film differenti sono stati proiettati in sala 2? SELECT COUNT(DISTINCT film_proiettato) AS NUM_FILM_PROIETTATI_SALA2 FROM Proiezione WHERE sala=2

Esercizio 1: Cinema Quanto è l incasso totale del cinema?

Esercizio 1: Cinema Quanto è l incasso totale del cinema? SELECT SUM(prezzo) AS INCASSO_CINEMA FROM Biglietto

Esercizio 1: Cinema Quant è l incasso ottenuto dal film con cod=123?

Esercizio 1: Cinema Quant è l incasso ottenuto dal film con cod=123? SELECT SUM(prezzo) AS INCASSO_FILM_123 FROM Biglietto Inner Join Proiezione ON proiezione=num_proiezione WHERE film_proiettato=123

Esercizio 2: Treni Treno (numero, tipo) Fermata(treno, num_fermata, ora, stazione) Stazione(codice, nome, città) Viaggio (treno, data, convoglio) Convoglio (numero, modello, marca, annoacquisto)

Esercizio 2: Treni Con riferimento allo schema logico dei treni, svolgere le seguenti Query utilizzando il linguaggio SQL

Esercizio 2: Treni Elenco dei convogli con relativo modello

Esercizio 2: Treni Elenco dei convogli con relativo modello SELECT numero, modello FROM CONVOGLIO

Esercizio 2: Treni Elenco dei treni (numero) di tipo frecciarossa

Esercizio 2: Treni Elenco dei treni (numero) di tipo frecciarossa SELECT numero FROM TRENO WHERE tipo= frecciarossa

Esercizio 2: Treni Quanti sono i treni che partono da Bergamo?

Esercizio 2: Treni Quanti sono i treni che partono da Bergamo? SELECT COUNT(*) AS NUM_TRENI_BERGAMO FROM FERMATA Inner Join STAZIONE ON FERMATA.stazione=STAZIONE.codice WHERE nfermata=1 AND citta= Bergamo

Esercizio 2: Treni Quale è l orario minimo di partenza tra i treni che partono da Milano?

Esercizio 2: Treni Quale è l orario minimo di partenza tra i treni che partono da Milano? SELECT MIN(ora) AS MIN_ORA FROM FERMATA Inner Join STAZIONE ON FERMATA.stazione=STAZIONE.codice WHERE nfermata=1 AND citta= Milano

Esercizio 2: Treni Elenco dei treni (numero) che non partono da Milano

Esercizio 2: Treni Elenco dei treni (numero) che non partono da Milano SELECT treno FROM FERMATA Inner Join STAZIONE ON stazione=codice WHERE nfermata=1 AND citta<> Milano

Esercizio 2: Treni Quali sono i treni che vanno da Bergamo a Rimini passando per Brescia?

Esercizio 2: Treni Quali sono i treni che vanno da Bergamo a Rimini passando per Brescia? SELECT F1.treno FROM (( SELECT treno, nfermata FROM FERMATA Inner Join STAZIONE ON stazione=codice WHERE citta= Bergamo ) AS F1 Inner Join ( SELECT treno, nfermata FROM FERMATA Inner Join STAZIONE ON stazione=codice WHERE citta= Brescia ) AS F2 ON F1.treno = F2.treno AND F1.nfermata < F2.nfermata) Inner Join (SELECT treno, nfermata FROM FERMATA Inner Join STAZIONE ON stazione=codice WHERE citta= Rimini ) AS F3 ON F2.treno = F3.treno AND F2.nfermata < F3.nfermata

Esercizio 2: Treni Quali sono i treni che vanno da Bergamo a Brescia ma non vanno a Rimini?

Esercizio 2: Treni Quali sono i treni che vanno da Bergamo a Brescia ma non vanno a Rimini? SELECT F.treno FROM ( SELECT F1.treno FROM (( SELECT treno, nfermata FROM FERMATA Inner Join STAZIONE ON stazione=codice WHERE citta= Bergamo ) AS F1 Inner Join ( SELECT treno, nfermata FROM FERMATA Inner Join STAZIONE ON stazione=codice WHERE citta= Brescia ) AS F2 ON F1.treno = F2.treno AND F1.nfermata < F2.nfermata)) AS F WHERE F.treno NOT IN (SELECT treno FROM FERMATA Inner Join STAZIONE ON stazione=codice WHERE citta= Rimini )

Esercizio 3: Noleggio ombrelloni Ombrellone (id, settore_spiaggia, num_fila, num_ordine_fila, tipologia_ombrellone) Tipologia(codice, nome, descrizione) Tariffa (codice, prezzo, data_inizio, data_fine, tipo, num_min_giorni*) Constraints su Tariffa: (tipo= Giornaliera AND num_min_giorni is null) OR (tipo= Abbonamento AND num_min_giorni is not null) Riguarda (codice_tipologia, codice_tariffa) Giorno_Disponibilita (id_ombrellone, data, venduto_in_contratto*) Contratto (num_progr, data, importo, stipulato_da) Cliente (codice, nome, cognome, data_nascita, indirizzo)

Esercizio 3: Noleggio ombrelloni Con riferimento allo schema logico «Noleggio Ombrelloni», svolgere le seguenti Query utilizzando il linguaggio SQL

Esercizio 3: Noleggio ombrelloni Quali sono gli ombrelloni con tipologia di nome vip?

Esercizio 3: Noleggio ombrelloni Quali sono gli ombrelloni con tipologia di nome vip? SELECT id FROM Ombrellone Inner Join Tipologia ON tipologia_ombrellone=codice WHERE nome= vip

Esercizio 3: Noleggio ombrelloni Elenco dei clienti (codice) che hanno associato almeno un contratto

Esercizio 3: Noleggio ombrelloni Elenco dei clienti (codice) che hanno associato almeno un contratto SELECT DISTINCT(codice) FROM Cliente Inner Join Contratto ON codice=stipulato_da NOTA: con l operatore DISTINCT il codice dei vari clienti che rispondono alla Query comparirà una sola volta (anche se dovessero esistere dei duplicati)

Esercizio 3: Noleggio ombrelloni Tipologia delle tariffe (codice, nome) con prezzo<200

Esercizio 3: Noleggio ombrelloni Tipologia delle tariffe (codice, nome) con prezzo<200 SELECT codice, nome FROM ((Tariffa Inner Join Riguarda ON Tariffa.codice=codice_tariffa) Inner Join Tipologia ON codice_tipologia=tipologia.codice) AS T WHERE T.prezzo<200

Esercizio 3: Noleggio ombrelloni Somma degli importi dei vari contratti per i clienti (nome, cognome) nati tra il 02/03/1975 e 05/07/1980 e aventi somma degli importi > 600

Esercizio 3: Noleggio ombrelloni Somma degli importi dei vari contratti per i clienti (nome, cognome) nati tra il 02/03/1975 e 05/07/1980 e aventi somma degli importi > 600 SELECT nome, cognome, SUM(importo) AS TOTALE_IMPORTO FROM Contratto Inner Join Cliente ON stipulato_da=codice WHERE data_nascita>= 02/03/1975 AND data_nascita<= 05/07/1980 GROUP BY nome, cognome HAVING SUM(importo)>600

Esercizio 3: Noleggio ombrelloni Qual è il codice della tariffa con prezzo minimo tra il 10/07/2014 e 20/07/2014?

Esercizio 3: Noleggio ombrelloni Qual è il codice della tariffa con prezzo minimo tra il 10/07/2014 e 20/07/2014? SELECT codice FROM (SELECT codice, prezzo FROM Tariffa WHERE data_inizio < 10/07/2014 AND data_fine > 20/07/2014 ) AS T Inner Join (SELECT MIN(prezzo) AS MIN_PREZZO FROM Tariffa WHERE data_inizio < 10/07/2014 AND data_fine> 20/07/2014 ) AS T2 ON T.prezzo=T2.MIN_PREZZO

Esercizio 3: Noleggio ombrelloni Quali ombrelloni non sono disponibili in data 15/06/2018 e 16/06/2018?

Esercizio 3: Noleggio ombrelloni Quali ombrelloni non sono disponibili in data 15/06/2018 e 16/06/2018? SELECT id FROM Ombrellone WHERE id NOT IN (SELECT id_ombrellone FROM Giorno_Disponibilita WHERE data= 15/06/2018 OR data= 16/06/2018 ) SELECT id FROM ((SELECT id FROM Ombrellone) AS O Left Join (SELECT id_ombrellone FROM Giorno_Disponibilita WHERE data= 15/06/2018 OR data= 16/06/2018 ) AS G_D ON id=id_ombrellone)) AS T WHERE id_ombrellone=null

Esercizio 3: Noleggio ombrelloni Quali contratti non si riferiscono ad ombrelloni di tipologia con nome vip?

Esercizio 3: Noleggio ombrelloni Quali contratti non si riferiscono ad ombrelloni di tipologia con nome vip? SELECT num_progr FROM Contratto WHERE num_progr NOT IN (SELECT venduto_in contratto FROM ((SELECT codice FROM Tipologia WHERE nome= vip ) AS T Inner Join (SELECT id, tipologia_ombrellone FROM Ombrellone) AS T2 ON codice=tipologia_ombrellone) AS T3 Inner Join (SELECT id_ombrellone, venduto_in_contratto FROM Giorno_Disponibilita) AS T4 ON id=id_ombrellone)