CREATE TABLE citta ( nome VARCHAR (20), nro_abitanti NUMERIC, regione VARCHAR (20) ); CREATE TABLE percorso ( partenza VARCHAR (20), arrivo VARCHAR (20), lunghezza NUMERIC ); -- Calcolare il percorso dalla lunghezza massima fra cittą con pił di 100.000 abitanti; SELECT max(lunghezza) FROM percorso, citta p, citta a WHERE partenza=p.nome AND arrivo=a.nome AND p.nro_abitanti>100000 AND a.nro_abitanti>100000 -- Calcolare per ogni regione la lunghezza media del percorso fra cittą entrambe di quella regione; SELECT p.regione, AVG(lunghezza) FROM percorso, citta p, citta a WHERE partenza=p.nome AND arrivo=a.nome AND p.regione=a.regione GROUP BY p.regione -- Calcolare le cittą che non hanno alcuna cittą che disti da loro meno di 100 Km; SELECT nome FROM citta EXCEPT ( SELECT p.partenza FROM percorso p WHERE p.lunghezza < 100 UNION SELECT p.arrivo FROM percorso p WHERE p.lunghezza < 100 ) -- Per ogni cittą c con pił di 100.000 abitanti, calcolare quanti sono i percorsi aventi c come partenza. SELECT p.partenza, count(*) FROM percorso p, citta c WHERE p.partenza =c.nome AND c.nro_abitanti >100000 GROUP BY p.partenza