Esercizio 4.b
Dato il seguente schema:
Atleta(Codice, Nome, Cognome, Societa’)
Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta)
Scrivere la query SQL che determina:
Esercizio 4.b
Dato il seguente schema:
Atleta(Codice, Nome, Cognome, Societa’)
Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta)
SELECT CODICE
FROM ATLETA, PARTECIPAZIONE WHERE (CODICEATLETA=CODICE) GROUPBY CODICE,CODICEATLETA HAVING (COUNT(*)>=5)
Esercizio 4.b
Dato il seguente schema:
Atleta(Codice, Nome, Cognome, Societa’)
Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta)
Scrivere la query SQL che determina:
Esercizio 4.b
Dato il seguente schema:
Atleta(Codice, Nome, Cognome, Societa’)
Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta) SELECT CODICE FROM ATLETA EXCEPT SELECT DISTINCT(CODICEATLETA) FROM PARTECIPAZIONE
Esercizio 5
Dato il seguente schema:
Atleta(Codice, Nome, Cognome, Societa’), 50 elementi Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta)
1. Determinare la cardinalita’ (#righe) della query seguente: SELECT CODICE
Esercizio 5
Dato il seguente schema:
Atleta(Codice, Nome, Cognome, Societa’), 50 elementi Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta)
1. Determinare la cardinalita’ (#righe) della query seguente: SELECT CODICE
FROM ATLETA
Esercizio 5
Dato il seguente schema:
Atleta(Codice, Nome, Cognome, Societa’), 50 elementi Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta)
2. Determinare la cardinalita’ (#righe) della query seguente: SELECT DISTINCT(NOME)
Esercizio 5
Dato il seguente schema:
Atleta(Codice, Nome, Cognome, Societa’), 50 elementi Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta)
2. Determinare la cardinalita’ (#righe) della query seguente: SELECT DISTINCT(NOME)
FROM ATLETA
Esercizio 5
Dato il seguente schema:
Atleta(Codice, Nome, Cognome, Societa’), 50 elementi Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta)
3. Determinare la cardinalita’ (#righe) della query seguente: SELECT DISTINCT(NOME)
FROM ATLETA
Esercizio 5
Dato il seguente schema:
Atleta(Codice, Nome, Cognome, Societa’), 50 elementi Gara(CodiceGara, Disciplina, Data, CodiceVincitore) Partecipazione(CodiceGara, CodiceAtleta)
3. Determinare la cardinalita’ (#righe) della query seguente: SELECT DISTINCT(NOME)
FROM ATLETA
WHERE (SOCIETA’ =‘Borgorosso’)
Esercizio 5
Dato il seguente schema:
Atleta(Codice, Nome, Cognome, Societa’), 50 elementi
Gara(CodiceGara, Disciplina, Data, CodiceVincitore), 20 el Partecipazione(CodiceGara, CodiceAtleta), 100 elementi 4. Determinare la cardinalita’ (#righe) della query seguente: SELECT CODICEGARA
FROM PARTECIPAZIONE, ATLETA WHERE (CODICE=CODICEATLETA)
Esercizio 5
Dato il seguente schema:
Atleta(Codice, Nome, Cognome, Societa’), 50 elementi
Gara(CodiceGara, Disciplina, Data, CodiceVincitore), 20 el Partecipazione(CodiceGara, CodiceAtleta), 100 elementi 4. Determinare la cardinalita’ (#righe) della query seguente: SELECT CODICEGARA
FROM PARTECIPAZIONE, ATLETA WHERE (CODICE=CODICEATLETA)
Esercizio 5
Dato il seguente schema:
Atleta(Codice, Nome, Cognome, Specialita’), 50 elementi Gara(CodiceGara, Disciplina, Data, CodiceVincitore), 20 el Partecipazione(CodiceGara, CodiceAtleta), 100 elementi 5. Determinare la cardinalita’ (#righe) della query seguente: SELECT *
FROM GARA, ATLETA
WHERE (DISCIPLINA=SPECIALITA’)
Esercizio 6
Dato il seguente schema:
UTENTE(CF, Nome, Cognome, Via, Città)
PACCO(Codice, Peso, CFMittente, CFDestinatario, Stato) Scrivere la query SQL che costruisce la tabella PACCO: 1. Peso ha valore di default 0,1
2. CFMittente e CFDestinatario sono in vincolo di integrità referenziale con l’attributo CF della tabella UTENTE
Esercizio 6
Dato il seguente schema:
UTENTE(CF, Nome, Cognome, Via, Città)
PACCO(Codice, Peso, CFMittente, CFDestinatario, Stato) Scrivere la query SQL che determina:
◇ Numero di pacchi di almeno 15 Kg spediti da utenti residenti a Bologna
Esercizio 6
Dato il seguente schema:
UTENTE(CF, Nome, Cognome, Via, Città)
PACCO(Codice, Peso, CFMittente, CFDestinatario, Stato) Scrivere la query SQL che determina:
◇ CF di utenti che non hanno MAI perso dei pacchi postali a loro destinati (se un pacco è perso, Stato=“Perso”)
Esercizio 6
Dato il seguente schema:
UTENTE(CF, Nome, Cognome, Via, Città)
PACCO(Codice, Peso, CFMittente, CFDestinatario, Stato) Scrivere la query SQL che determina:
◇ CF, Nome e Cognome di utenti di Bologna che hanno effettuato almeno 3 spedizioni
Esercizio 6
Dato il seguente schema:
UTENTE(CF, Nome, Cognome, Via, Città)
PACCO(Codice, Peso, CFMittente, CFDestinatario, Stato) Scrivere la query SQL che determina:
◇ Numero di spedizioni effettuate tra utenti che risiedono nella stessa città.
Esercizio 7 (per casa)
Dato il seguente schema:
Docente(Codice, Nome, Cognome)
Aula(Nome, Dipartimento, NumPosti)
Prenotazione(Data, NomeAula, CodDocente) Scrivere la query SQL che determina:
1. Nome e Cognome dei docenti che hanno prenotato l’aula “Ercolani1” in data 13/10/2015.
Esercizio 7 (per casa)
Dato il seguente schema:
Docente(Codice, Nome, Cognome)
Aula(Nome, Dipartimento, NumPosti)
Prenotazione(Data, NomeAula, CodDocente) Scrivere la query SQL che determina:
2. Capienza massima tra le aule del dipartimento di Fisica, prenotate dal docente con codice 134.
Esercizio 7 (per casa)
Dato il seguente schema:
Docente(Codice, Nome, Cognome)
Aula(Nome, Dipartimento, NumPosti)
Prenotazione(Data, NomeAula, CodDocente) Scrivere la query SQL che determina:
3. Numero dei docenti che hanno prenotato aule del
Dipartimento di Matematica, nel periodo compreso tra il 13/06/2014 ed il 13/10/2014.
Esercizio 7 (per casa)
Dato il seguente schema:
Docente(Codice, Nome, Cognome)
Aula(Nome, Dipartimento, NumPosti)
Prenotazione(Data, NomeAula, CodDocente) Scrivere la query SQL che determina:
4. Codice del docente che ha prenotato almeno due aule (distinte) del Dipartimento di Fisica, in data 13/10/2014 (VINCOLO: non è possibile usare operatori aggregati!)
Esercizio 7 (per casa)
Dato il seguente schema:
Docente(Codice, Nome, Cognome)
Aula(Nome, Dipartimento, NumPosti)
Prenotazione(Data, NomeAula, CodDocente) Scrivere la query SQL che determina:
5. Codice, nome e cognome dei docenti che non hanno mai prenotato aule del dipartimento di Fisica.
Esercizio 7 (per casa)
Dato il seguente schema:
Docente(Codice, Nome, Cognome)
Aula(Nome, Dipartimento, NumPosti)
Prenotazione(Data, NomeAula, CodDocente) Scrivere la query SQL che determina:
6. Per ogni dipartimento, il numero di prenotazioni di aule nel periodo compreso tra il 17/10/2013 ed il 17/11/2014.
Esercizio 7 (per casa)
Dato il seguente schema:
Docente(Codice, Nome, Cognome)
Aula(Nome, Dipartimento, NumPosti)
Prenotazione(Data, NomeAula, CodDocente) Scrivere la query SQL che determina:
7. I codici dei docenti che hanno effettuato almeno 4 prenotazioni di aule del dipartimento di Fisica.
Esercizio 7 (per casa)
Dato il seguente schema:
Docente(Codice, Nome, Cognome)
Aula(Nome, Dipartimento, NumPosti)
Prenotazione(Data, NomeAula, CodDocente) Scrivere la query SQL che determina:
8. Codice, nome e cognome dei docenti che hanno effettuato prenotazioni di aule del dipartimento di Fisica.
Esercizio 7 (per casa)
Dato il seguente schema:
Docente(Codice, Nome, Cognome)
Aula(Nome, Dipartimento, NumPosti)
Prenotazione(Data, NomeAula, CodDocente) Scrivere la query SQL che determina:
9. Dipartimento che ospita l’aula con maggior numero di posti.
Esercizio 7 (per casa)
Dato il seguente schema:
Docente(Codice, Nome, Cognome)
Aula(Nome, Dipartimento, NumPosti)
Prenotazione(Data, NomeAula, CodDocente) Scrivere la query SQL che determina:
10. Nomi delle aule del dipartimento di Fisica che non sono state mai prenotate nel periodo dal 30/09/2013 al
Esercizio 7 (per casa)
Dato il seguente schema:
Docente(Codice, Nome, Cognome)
Aula(Nome, Dipartimento, NumPosti)
Prenotazione(Data, NomeAula, CodDocente) Scrivere la query SQL che determina:
11. Nome/i delle aule prenotate più della media (di tutte le altre aule), nel periodo compreso tra il 1/1/2013 ed il
Esercizio 8
Dato il seguente schema:
Atleta(Codice, Nome, Cognome, DataNascita, Societa’) Allenatore(Codice, Nome, Cognome, Profilo, Societa’) Sportivi(Nome, Cognome, Societa’)
Scrivere la query SQL che:
Esercizio 8
Dato il seguente schema:
Atleta(Codice, Nome, Cognome, DataNascita, Societa’) Allenatore(Codice, Nome, Cognome, Profilo, Societa’) Sportivi(Nome, Cognome, Societa’)
INSERT INTO SPORTIVI(NOME,COGNOME) VALUES (‘Michele’, ‘Rossi’)
Esercizio 8
Dato il seguente schema:
Atleti(Codice, Nome, Cognome, DataNascita, Societa’) Allenatori(Codice, Nome, Cognome, Profilo, Societa’) Sportivi(Nome, Cognome, Societa’)
Scrivere la query SQL che:
2. Popola la tabella Sportivi(Nome, Cognome, Societa’) come insieme di tutti gli atleti ed allenatori presenti nello schema.
Esercizio 8
Dato il seguente schema:
Atleti(Codice, Nome, Cognome, DataNascita, Societa’) Allenatori(Codice, Nome, Cognome, Profilo, Societa’) Sportivi(Nome, Cognome, Societa’)
Scrivere la query SQL che:
INSERT INTO SPORTIVI(NOME,COGNOME, SOCIETA’) (SELECT NOME,COGNOME,SOCIETA’
FROM ATLETI UNION
SELECT NOME,COGNOME,SOCIETA’ FROM ALLENATORI)
Esercizio 8
Dato il seguente schema:
Atleti(Codice, Nome, Cognome, DataNascita, Societa’) Allenatori(Codice, Nome, Cognome, Profilo, Societa’) Sportivi(Nome, Cognome, Societa’)
Scrivere la query SQL che:
3. Rimuove tutti gli allenatori la cui societa’ di appartenenza non e’ specificata.
Esercizio 8
Dato il seguente schema:
Atleti(Codice, Nome, Cognome, DataNascita, Societa’) Allenatori(Codice, Nome, Cognome, Profilo, Societa’) Sportivi(Nome, Cognome, Societa’)
Scrivere la query SQL che:
DELETE FROM ALLENATORI WHERE (SOCIETA’ IS NULL)
Esercizio 8
Dato il seguente schema:
Atleti(Codice, Nome, Cognome, DataNascita, Societa’) Allenatori(Codice, Nome, Cognome, Profilo, Societa’) Sportivi(Nome, Cognome, Societa’)
Scrivere la query SQL che:
4. Aggiorna i dati degli Atleti nati in data 10/11/2012,
Esercizio 8
Dato il seguente schema:
Atleti(Codice, Nome, Cognome, DataNascita, Societa’) Allenatori(Codice, Nome, Cognome, Profilo, Societa’) Sportivi(Nome, Cognome, Societa’)
Scrivere la query SQL che:
UPDATE ATLETI
SET SOCIETA’=‘POLISPORTIVA ROSSI’ WHERE DATANASCITA=’10/11/2012’