Informatica 3 Liceo Scientifico Scienze Applicate/Es1 PrenotazioneVaporetto: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 16:
 
[[File:EsercizioPescatori.png|800px|sinistra|thumb|modello relazionale Pescatori]]
 
 
1) creare un elenco di tutti i pescatori ordinati (senso crescente) per nominativo
 
select *
from pescatori
order by nominativo
 
2) creare un elenco dei pescatori ordinato (senso decrecente) per idpescatore che visualizzi idpescatore, nominativo e il nome
 
della barca
 
select idpescatore,nominativo,nomebarca
from pescatori
order by idpescadore DESC
 
3) visualizzare un elenco delle localita' che abbiano 2 foto , si vuole evidenziare idlocalita' descrizione foto1 foto2 e
 
ristorante
 
select idlocalita , descrizione,foto1,foto2,ristorante
from localita
where foto1 is not null && foto2 is not null
 
4) trovare tutti i clienti ( visualizzarli ordinati per cognome enome) che hanno il cognome che inizia per R
 
select cognome,nome,idcliente,telefono,indirizzo
from clienti
where cognome like 'R%'
order by cognome,nome
 
5) visualizzare tutti le localita' ( idlocalita,descrizione e ristorante) di un itinerario di cui si conosce l'id e' 5
 
select dlocalita,descrizione,ristorante
from localita join localitaitinerario on localita.idlocalita = localitaitinerario.idlocalita
where localitaitinerario.iditinerario= 5
 
 
oppure
 
select dlocalita,descrizione,ristorante
from localita , localitaitinerario
where localitaitinerario.iditinerario= 5 AND localita.idlocalita = localitaitinerario.idlocalita
 
6) trovare tutti i viaggi che si svolgono fra il 12/1/2016 e il 14/1/2016 ordinati per prezzo il cui capitano sia il signor
 
marco rossi (nominativo)
 
select idviaggio,iditinerario,data,prezzo
from viaggi join pescatori on viaggi.idpescatore=viaggi.idpescatore
where nominativo='marco rossi' and dataviaggio between '12/1/2016' and '14/1/2016'
order by prezzo
 
 
 
7) calcolare del viaggio con id=234 quanti posti sono stati prenotati ( calcolarlo mediante le prenotazioni effettuate)
 
select sum(persone)
from prenotazioni
where idviaggio=234
 
commenta la presenza della voce posti prenotati nella tabella viaggi
 
8) calcolare quante prenotazioni ha fatto il signor marco rossi (pensiamo sia l'unico cliente con questo nome)
 
select count(*)
from prenotazioni join clienti on prenotazioni.idcliente = clienti.idcliente
where cognome='rossi' and nome='marco'
 
9) per ogni pescatore calcolare quanti sono stati i viaggi svolti nel mese di gennaio 2013
 
select idpescatore, count(*)
from viaggi
where dataviaggio between '1/1/2013' and '31/1/2013'
group by idpescatore
 
10) visualizza il viaggio ( con tutte le informazioni) piu' costoso di oggi
 
select top 1 *
from viaggi
where dataviaggio= now()
order by costo
 
11) visualizza tutti i viaggi che si svolgono il 2/3/2016 e che hanno fra le localita' del loro itinerario "boccasette" (
 
boccasette e' una parola presente nella descrizione della localita'
 
select idviaggio, iditinerario
from viaggi,itinerario,localitaitinerario,localita
where viaggi.iditinerario=itinerario.iditinerario and itinerario.iditinerario=localitaitinerario.iditinerario and
localitaitinerario.idlocalita = localita.idlocalita and localita.descrizione like '%boccasette%
 
12) trova il nominativo del pescatore piu' anziano
 
select nominativo
from pescatori
where datanascita = ( select max(datanascita)
from pescatori
)
 
13) visualizza tutti i clienti con i posti prenotati da ciascuno per il viaggio 345 (evidenzia lo stato del pagamento)
 
select idcliente,cognome,nome, persone,pagato
from clienti,prenotazioni
where clienti.idcliente=prenotazioni.idcliente AND idviaggio=345
 
14) si vuole stampare il percorso (localita dopo localita) di un particolare itinerario discuti del problema che sorge nel
 
ottenere questa informazione e indica il rimedio
 
15) visualizza ogni pescatore he havisto salire a bordo il cliente 1234 un numero di volte maggiore di 3
 
select idpescatore
from idprenotazioni,viaggi
where idprenotazioni.idviaggio = viaggi.idviaggio and idcliente= 1234
group by idpescatore
having count(*)> 3
 
16) visualizza tutti i dati di un cliente il cui id viene scelto al momento dell'interrogazione
 
select *
from clienti
where idcliente=[inserisci id cliente]
 
 
[[Categoria:Informatica 3 Liceo Scientifico Scienze Applicate|Informatica Teorica]]
{{Avanzamento|100%|26 settembre 2014}}