Esempi svolti:
1 | Creare le tabelle: studenti, mov_esa, esami, laurea. | create table studenti (nmatr char(2), cognome char(20), nome char(20), citta char(10), codl char(3), acorso char(3) ); | Create table mov esa (nmatr char(2), code char(5), giorno date, voto integer ); | Create table esami (code char(5), nome char(30) ); | Create table laurea (codl char(3), corso char(20) ); | |
2 | Visualizzazione del numero di matricola, cognome e nome degli studenti iscritti. | select nmatr, cognome, nome from studenti; | ||||
3 | Visualizzazione di tutti i numeri di matricola degli studenti che abbiano sostenuto almeno un esame, eliminando tutte le duplicazioni. | select distinct nmatr from mov_esa; | ||||
4 | Visualizzazione dei dati di tutta la tabella laurea. | select * from laurea; | ||||
5 | Visualizzazione dei dati contenuti nella tabella studenti relativi ai residenti a Milano. | select * from studenti where citta=’Milano’; | ||||
6 | Visualizzazione di numeri di matricola, codice esame e data degli esami sostenuti con votazione=23 in ordine discendente di data. | select nmatr, code, giorno from mov_esa where voto=23 order by giorno desc; | ||||
7 | Visualizzazione dell’elenco dei numeri di matricola degli studenti che hanno sostenuto almeno 2 esami con votazione maggiore di 25, ordinando il risultato secondo valori decrescenti del numero di matricola. | select nmatr from mov_esa where voto>25 group by nmatr having count(voto)>1 order by nmatr desc; | ||||
8 | Selezionare l’elenco dei numeri di matricola degli studenti con il relativo corso di lauea. | select nmatr, corso from studenti, laurea where studenti.codl=laurea.codl; | ||||
9 | Visualizzazione del contenuto della tabella studenti in relazione agli studenti abitanti a Milano oppure a Bergamo, e che non siano iscritti al primo anno di corso. | select * from studenti where ((citta=’Milano’) or (citta=’Bergamo’)) and (not (acorso=’1’)); | ||||
10 | Estrazione dalla tabella studenti di tutti i dati relativi agli studenti residenti a Milano, Como, Varese o Piacenza. | select * from studenti where (citta=’Milano’) or (citta=’Como’) or (citta=’Varese’) or (citta’Piacenza’); | ||||
11 | Estrazione dalla tabella studenti di tutti i dati relativi agli studenti residenti a Milano, Como, Varese o Piacenza utilizzando il predicato di appartenenza ad un insieme. | select * from studenti where citta in (‘Milano’,’ Como’, ’Varese’, ’Piacenza’); | ||||
12 | Selezione del numero di matricola, i voti purchè non minori di 24, e i codici esami relativi agli esami di matematica generale e di economia politica. | select nmatr, code, voto from mov_esa where code in (select code from esami where (nome=’matematica generale’) or (nome=’economia politica’)) and not(voto<24); |
13 | Estrazione dalla tabella studenti di tutte le informazioni relative agli studenti che abbiano sostenuto gli esami di storia della scienza oppure di storia greca nell'anno 1991. | select * from studenti where nmatr in (select nmatr from mov_esa where code in (select code from esami where nome in (‘storia della scienza’ ,‘storia greca’) and (data >={01-01-91}) group by nmatr)); |
14 | Indicazione del numero degli esami sostenuti dalla studentessa Boni Elisa, la somma dei voti la media dei voti, il voto minimo e il voto massimo conseguiti. | Select count(voto), min(voto), max(voto) from mov_esa where nmatr = (select nmatr from studenti where (cognome=’Boni’) and (nome=’Elisa’)); |
15 | Selezionare il numero di matricola di tutti gli studenti, la somma dei voti e il voto medio ottenuto negli esami. | select nmatr, count(voto), avg(voto) from mov_esa group by nmatr; |
16 | Collegare la tabella studenti con la tabella mov_esa. | select * from studenti, mov_esa where studenti.nmatr=mov_esa.nmatr; |
17 | Collegare la tabella studenti con la tabella mov_esa e visualizzare nmatr, cognome, nome della tabella studenti e code e voto della tabella mov_esa. | select studenti.nmatr, cognome, nome, code, voto from studenti, mov_esa where studenti.nmatr=mov_esa.nmatr; |
Rispondere ai seguenti quesiti con delle istruzioni in SQL:
- Visualizzare il cognome, il nome e la città di ciascuno studente contenuto nella tabella studenti.
- Visualizzare il nome degli esami previsti dalla tabella esami.
- Visualizzare i nomi delle città della tabella studenti eliminando le ripetizioni.
- Visualizzare cognome e nome degli studenti che abbiano sostenuto almeno un esame, eliminando le ripetizioni.
- Visualizzare il codice degli esami contenuti nella tabella mov_esa (eliminando le ripetizioni) e il numero degli esami sostenuti dello stesso tipo.
- Visualizzare tutte le righe e le colonne della tabella studenti.
- Visualizzare le righe e le colonne della tabella mov_esa.
- Visualizzare dalla tabella mov_esa tutte le informazioni relative agli esami la cui votazione supera 22.
- Visualizzare l’elenco degli studenti residenti a Como.
- Visualizzare l’elenco degli studenti residenti a Venezia.
- Visualizzare il numero di matricola degli studenti che hanno sostenuto esami dopo la data 25-06-89.
- Ripetere l’esercizio precedente visualizzando oltre al numero di matricola, cognome e nome degli studenti.
- Visualizzare il numero di matricola degli studenti che hanno sostenuto esami in data 10-10-89.
- Ripetere l’esercizio precedente visualizzando, oltre al numero di matricola, cognome e nome degli studenti.
- Visualizzare l'elenco degli studenti non residenti a Milano.
- Visualizzare il numero di matricola e il codice esami degli studenti che hanno sostenuto un esame in data 10-10-88.
- Visualizzare tutte le informazioni relative agli studenti che hanno sostenuto almeno un esame prima della data 10-06-90.
- Visualizzare le informazioni contenute nella tabella mov_esa, ordinate secondo valori decrescenti del voto conseguito.
- Visualizzare tutte le informazioni della tabella mov_esa con voto superiore a 24, ordinate secondo valori crescenti del voto.
- Visualizzare tutte le informazioni della tabella mov_esa, ordinate per codice e, a parità di codice, per voto crescente.
- Visualizzare l'elenco in ordine crescente di tutti gli studenti, ordinati secondo cognome e nome.
- Ripetere l'esercizio precedente visualizzando per i nomi in ordine decrescente.
- Ripetere l'esercizio 21 visualizzando i cognomi in ordine decrescente.
- Ripetere l’esercizio 21, visualizzando in ordine decrescente sia il cognome sia il nome.
- Visualizzare tutte le informazioni sugli studenti prendendo come chiave primaria la città di residenza e come chiave secondaria il cognome, entrambe in ordine crescente.
- Visualizzare tutte le informazioni contenute nella tabella mov_esa, prendendo come chiave primaria il voto e come chiave secondaria la data (ordinamento crescente).
- Visualizzare l'elenco degli studenti residenti a Milano e iscritti al quarto anno di corso.
- Visualizzare tutte le informazioni contenute nella tabella mov_esa, sugli studenti aventi voto superiore a 24 e data di esame coincidente con il 25-06-88.
- Visualizzare l’elenco degli studenti iscritti al quarto anno oppure fuori corso.
- Visualizzare l’elenco degli alunni che non sono fuori corso.
- Visualizzare le informazioni contenute nella tabella mov_esa relative all'esame di matematica generale, la cui votazione sia inferiore a 28 oppure con data precedente al 12-02-89.
- Visualizzare tutte le informazioni della tabella mov_esa, ad eccezione di quelle con data d'esame 10-10-89 o 25-06-88.
- Visualizzare le informazioni della tabella mov_esa relative agli esami sostenuti nel periodo compreso (inclusi gli estremi) tra il 10-10-89 e il 10-10-90.
- Visualizzare l’elenco degli studenti il cui cognome è compreso tra Bianchi e Ferri (escluso gli estremi).
- Visualizzare tutte le informazioni contenute nella tabella studenti relative agli studenti residenti a Milano, Como, Varese, Bergamo, in ordine crescente rispetto sia al cognome che al nome.
- Visualizzare tutte le informazioni della tabella mov_esa relative ai numeri di matricola 5, 8, 9 e 10, ordinandole secondo valori crescenti del voto.
- Visualizzare tutte le informazioni contenute nella tabella mov_esa a eccezione dei numeri di matricola 3, 7 e 9.
- Collegare la tabella studenti con la tabella laurea e visualizzare cognome e nome della tabella studenti e corso della tabella laurea, evitando le ripetizioni.
- Collegare la tabella studenti con la tabella mov esa e visualizzare cognome e nome contenuti nella tabella studenti e codice esame, data e voto contenuti nella tabella mov_esa relative allo studente Rossi Paolo.
- Collegare la tabella studenti con la tabella mov_esa e visualizzare cognome e nome contenuti nella tabella studenti e voto contenuto nella tabella mov_esa degli studenti che hanno sostenuto l'esame con codice E0004.
- Visualizzare le informazioni relative agli studenti iscritti al corso di laurea di economia e commercio che hanno sostenuto almeno un esame.
- Visualizzare cognome e nome degli studenti che hanno una media dei voti maggiore di 24.
- Visualizzare le informazioni relative agli studenti residenti a Milano iscritti al corso di laurea di economia e commercio che hanno una media dei voti inferiore a 25.
- Visualizzare tutte le informazioni contenute nella tabella studenti relative agli studenti residenti a Milano, iscritti al secondo anno di corso e che abbiano sostenuto almeno due esami a partire dall'anno 1990.
- Visualizzare il numero di matricola degli studenti, la votazione massima, la votazione minima e la media dei voti per quegli studenti che hanno sostenuto almeno due esami.
1 | select cognome, nome, citta from studenti; | 2 | select nome from esami; |
3 | select distinct citta from studenti; | 4 | select distinct cognome, nome from studenti where nmatr in (select nmatr from mov_esa); |
5 | select code, count(*) from mov_esa group by code; | 6 | select * from studenti; |
7 | select * from mov_esa; | 8 | select * from mov_esa where voto>22; |
9 | select cognome, nome from studenti where citta=’Como’; | 10 | select cognome,nome from studenti where citta=’Venezia’; |
11 | select nmatr from mov_esa where giorno>{25-06-89}; | 12 | select nmatr, cognome, nome from studenti where nmatr in (select nmatr from mov_esa where giorno>{25-06-89}); |
13 | select nmatr from mov_esa where giorno={10-10-89}; | 14 | select nmatr, cognome, nome from studenti where nmatr in (select nmatr from mov_esa where giorno={10-10-89}); |
15 | select cognome, nome from studenti where not (citta=’Milano’); | 16 | select nmatr, code from mov_esa where giorno={10-10-88}); |
17 | select * from studenti where nmatr in (select nmatr from mov_esa where giorno <{25-06-90}); | 18 | select * from mov_esa order by voto desc; |
19 | select * from mov_esa where voto>24 order by voto; | 20 | select * from mov_esa order by code, voto; |
21 | select cognome, nome from studenti order by cognome, nome; | 22 | select cognome, nome from studenti order by cognome, nome desc; |
23 | select cognome, nome from studenti order by cognome desc, nome; | 24 | select cognome, nome from studenti order by cognome desc, nome desc; |
25 | select * from studenti order by citta, cognome; | 26 | select * from mov_esa order by voto, giorno; |
27 | select cognome, nome from studenti where citta=’Milano’ and acorso=’4’; | 28 | select * from mov_esa where voto>24 and giorno={25-6-88}); |
29 | select cognome, nome from studenti where (acorso=’4’) or (acorso=’fc1’); | 30 | select cognome, nome from studenti where not (acorso like ’fc’%’); |
31 | select * from mov_esa where code in (select code from esami where (nome=’matematica generale’) and ((voto<28) or (giorno={12-02-89})); | 32 | select * from mov_esa where not ((giorno={10-10-89}) or (giorno={25-6-88})); |
33 | select * from mov_esa where (giorno>={10-10-89}) and (giorno<={10-10-90}); | 34 | select cognome, nome from studenti where (cognome>’Bianchi’) and (cognome <’Ferri’); |
35 | select * from studenti where citta in (‘Milano’, ’Como’, ’Varese’, ’Bergamo’) order by cognome, nome; | 36 | select * from mov_esa where nmatr in (‘5’,’8’,’9’,’10’) order by voto; |
37 | select * from mov_esa where not (nmatr in select (‘3’,’7’,’9’)); | 38 | select cognome, nome, corso from studenti, laurea where studenti.codl=laurea.codl; |
39 | select cognome, nome, code, giorno, voto from studenti, mov_esa where (cognome=’Rossi’) and (nome=’Paolo’) and (studenti.nmatr=mov_esa.nmatr); | 40 | select cognome, nome, voto from studenti, mov_esa where (code=’E004’) and (studenti.nmatr=mov_esa.nmatr); |
41 | select * from studenti where codl= (select codl from laurea where (corso=’economia e commercio’) and nmatr in (select nmatr from mov_esa)); | 42 | select cognome, nome from studenti where nmatr in (select nmatr from mov_esa group by nmatr having avg(voto)>24); |
43 | select * from studenti where nmatr in (select nmatr from mov_esa group by nmatr having count(voto)>=2) and nmatr in (select nmatr from mov_esa where (giorno>={01-01-90}) and (citta=’Milano’) and (acorso =’2’); | 44 | select * from studenti where citta=’Milano’ and codl= (select codl from laurea where corso=’economia e commercio’) and nmatr in (select nmatr from mov_esa group by nmatr having avg(voto)<25); |
45 | select nmatr, max(voto), min(voto), avg(voto) from mov_esa group by nmatr having count(voto)>=2); | | |
Nessun commento:
Posta un commento