CERCASI SPONSOR E DONAZIONI --- CERCASI SPONSOR E DONAZIONI --- CERCASI SPONSOR E DONAZIONI

mercoledì 11 aprile 2012

Esercizi in Linguaggio SQL n.3


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:

  1. Visualizzare il cognome, il nome e la città di ciascuno studente contenuto nella tabella studenti.
  2. Visualizzare il nome degli esami previsti dalla tabella esami.
  3. Visualizzare i nomi delle città della tabella studenti eliminando le ripetizioni.
  4. Visualizzare cognome e nome degli studenti che abbiano sostenuto almeno un esame, eliminando le ripetizioni.
  5. Visualizzare il codice degli esami contenuti nella tabella mov_esa (eliminando le ripetizioni) e il numero degli esami sostenuti dello stesso tipo.
  6. Visualizzare tutte le righe e le colonne della tabella studenti.
  7. Visualizzare le righe e le colonne della tabella mov_esa.
  8. Visualizzare dalla tabella mov_esa tutte le informazioni relative agli esami la cui votazione supera 22.
  9. Visualizzare l’elenco degli studenti residenti a Como.
  10. Visualizzare l’elenco degli studenti residenti a Venezia.
  11. Visualizzare il numero di matricola degli studenti che hanno sostenuto esami dopo la data 25-06-89.
  12. Ripetere l’esercizio precedente visualizzando oltre al numero di matricola, cognome e nome degli studenti.
  13. Visualizzare il numero di matricola degli studenti che hanno sostenuto esami in data 10-10-89.
  14. Ripetere l’esercizio precedente visualizzando, oltre al numero di matricola, cognome e nome degli studenti.
  15. Visualizzare l'elenco degli studenti non residenti a Milano.
  16. Visualizzare il numero di matricola e il codice esami degli studenti che hanno sostenuto un esame in data 10-10-88.
  17. Visualizzare tutte le informazioni relative agli studenti che hanno sostenuto almeno un esame prima della data 10-06-90.
  18. Visualizzare le informazioni contenute nella tabella mov_esa, ordinate secondo valori decrescenti del voto conseguito.
  19. Visualizzare tutte le informazioni della tabella mov_esa con voto superiore a 24, ordinate secondo valori crescenti del voto.
  20. Visualizzare tutte le informazioni della tabella mov_esa, ordinate per codice e, a parità di codice, per voto crescente.
  21. Visualizzare l'elenco in ordine crescente di tutti gli studenti, ordinati secondo cognome e nome.
  22. Ripetere l'esercizio precedente visualizzando per i nomi in ordine decrescente.
  23. Ripetere l'esercizio 21 visualizzando i cognomi in ordine decrescente.
  24. Ripetere l’esercizio 21, visualizzando in ordine decrescente sia il cognome sia il nome.
  25. Visualizzare tutte le informazioni sugli studenti prendendo come chiave primaria la città di residenza e come chiave secondaria il cognome, entrambe in ordine crescente.
  26. Visualizzare tutte le informazioni contenute nella tabella mov_esa, prendendo come chiave primaria il voto e come chiave secondaria la data (ordinamento crescente).
  27. Visualizzare l'elenco degli studenti residenti a Milano e iscritti al quarto anno di corso.
  28. 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.
  29. Visualizzare l’elenco degli studenti iscritti al quarto anno oppure fuori corso.
  30. Visualizzare l’elenco degli alunni che non sono fuori corso.
  31. 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.
  32. Visualizzare tutte le informazioni della tabella mov_esa, ad eccezione di quelle con data d'esame 10-10-89 o 25-06-88.
  33. 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.
  34. Visualizzare l’elenco degli studenti il cui cognome è compreso tra Bianchi e Ferri (escluso gli estremi).
  35. 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.
  36. Visualizzare tutte le informazioni della tabella mov_esa relative ai numeri di matricola 5, 8, 9 e 10, ordinandole secondo valori crescenti del voto.
  37. Visualizzare tutte le informazioni contenute nella tabella mov_esa a eccezione dei numeri di matricola 3, 7 e 9.
  38. Collegare la tabella studenti con la tabella laurea e visualizzare cognome e nome della tabella studenti e corso della tabella laurea, evitando le ripetizioni.
  39. 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.
  40. 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.
  41. Visualizzare le informazioni relative agli studenti iscritti al corso di laurea di economia e commercio che hanno sostenuto almeno un esame.
  42. Visualizzare cognome e nome degli studenti che hanno una media dei voti maggiore di 24.
  43. 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.
  44. 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.
  45. 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