0% encontró este documento útil (0 votos)
817 vistas7 páginas

Consultas SQL Complejas para Ciclistas

Este documento contiene 54 consultas SQL complejas sobre una base de datos de ciclismo. Las consultas incluyen selecciones, conteos, promedios, joins, subconsultas, grupos y filtros. Realizan análisis estadísticos y extraen información detallada sobre ciclistas, equipos, etapas y puertos de montaña.

Cargado por

blackwolf_x00
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
817 vistas7 páginas

Consultas SQL Complejas para Ciclistas

Este documento contiene 54 consultas SQL complejas sobre una base de datos de ciclismo. Las consultas incluyen selecciones, conteos, promedios, joins, subconsultas, grupos y filtros. Realizan análisis estadísticos y extraen información detallada sobre ciclistas, equipos, etapas y puertos de montaña.

Cargado por

blackwolf_x00
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

SOLUCIONES PRÁCTICA 16.

CONSULTAS MÁS COMPLEJAS EN SQL (IV)

1. select codigo,tipo,color,premio
from maillot;

2. select dorsal
from ciclista where edad<=25;

3. select nompuerto,altura
from puerto where categoria='E';

4. select netapa
from etapa
where salida=llegada;

5. select count(*)
from ciclista;

6. select count(*)
from ciclista where edad>25;

7. select count(*) from equipo;

8. select avg(edad) from ciclista:

9. select max(altura),min(altura)
from puerto;

10. select nombre,nomeq


from ciclista;

11. select nombre


from ciclista
where nomeq='Banesto';

12. select count(*)


from ciclista
where nomeq='Amore Vita';

13. select avg(edad)


from ciclista
where nomeq='TVM';
14. select nombre
from ciclista
where nomeq=(select nomeq from ciclista where nombre='Miguel Indurain');

15. select nombre


from ciclista,etapa
where ciclista.dorsal=etapa.dorsal;

16. select nombre


from ciclista,llevar,maillot
where ciclista.dorsal=llevar.dorsal and llevar.codigo=maillot.codigo and tipo='General';

17. select nombre


from ciclista
where edad in (select min(edad) from ciclista);

18. select nomeq,count(*)


from ciclista
group by nomeq;

19. select nomeq,count(*)


from ciclista
group by nomeq
having count(*)>5;

20. select nombre,count(*)


from ciclista,puerto
where ciclista.dorsal=puerto.dorsal
group by nombre;

21. select nombre,count(*)


from ciclista,puerto
where ciclista.dorsal=puerto.dorsal
group by nombre
having count(*)>1;

22 select equipo.nomeq,descripcion
from equipo,ciclista
where equipo.nomeq=ciclista.nomeq and edad>33;

23 select nombre
from ciclista
where nomeq not in('Kelme');

24 select nombre
from ciclista
where dorsal not in(select dorsal from etapa);

25 select nombre
from ciclista
where dorsal not in(select dorsal from puerto);

26 select nombre,count(*)
from puerto,ciclista
where ciclista.dorsal=puerto.dorsal
group by nombre
having count(*)>1;

27

select nombre
from ciclista,maillot,llevar
where ciclista.dorsal=llevar.dorsal and llevar.codigo=maillot.codigo and maillot.codigo
in(select maillot.codigo
from ciclista,maillot,llevar
where ciclista.dorsal=llevar.dorsal and llevar.codigo=maillot.codigo and nombre='Miguel
Indurain');

28
select nomeq,avg(edad),max(edad),min(edad)
from ciclista
group by nomeq;

29 select *
from ciclista
where edad between 25 and 30 and nomeq not in('Kelme','Banesto');

30 select nombre
from ciclista,etapa
where ciclista.dorsal=etapa.dorsal and salida='Zamora';

31 select nompuerto,categoria
from puerto
where dorsal in (select dorsal from ciclista where nomeq='Banesto');

32 select nompuerto,puerto.netapa,km
from puerto,etapa
where puerto.netapa=etapa.netapa;

33 select nombre,maillot.codigo
from ciclista,maillot,llevar
where ciclista.dorsal=llevar.dorsal and maillot.codigo=llevar.codigo;

34 select nombre
from ciclista,maillot,llevar
where ciclista.dorsal=llevar.dorsal and maillot.codigo=llevar.codigo and color='Amarillo';

35 Select e1.netapa, e1.llegada, e2.netapa, e2.salida


From etapa e1, etapa e2
Where e1.netapa+1=e2.netapa and e1.llegada <>e2.salida;

36 select netapa
from etapa
where netapa not in (select netapa from puerto);

37 select avg(edad)
from ciclista
where dorsal in (select dorsal from etapa);

38 select nompuerto
from puerto
where altura>(select avg(altura) from puerto);

39
select salida,llegada
from etapa
where netapa in(
select netapa
from puerto
where pendiente=(select max(pendiente) from puerto));

40
select ciclista.dorsal,nombre
from ciclista,puerto
where ciclista.dorsal=puerto.dorsal and altura=(select max(altura) from puerto);

41 select nombre
from ciclista
where edad=(select min(edad) from ciclista,etapa
where ciclista.dorsal=etapa.dorsal);

42 select distinct etapa.netapa


from etapa,puerto
where etapa.netapa=puerto.netapa and puerto.altura>700
and not exists (select * from puerto p2
where p2.netapa=etapa.netapa and p2.altura<700);

43 select equipo.nomeq,equipo.director
from equipo
where not exists (select * from ciclista
where equipo.nomeq=ciclista.nomeq and ciclista.edad<20);

44 select ciclista.dorsal,ciclista.nombre
from ciclista,etapa e1
where ciclista.dorsal=e1.dorsal
and not exists (select *
from etapa
where ciclista.dorsal=etapa.dorsal and etapa.km<170);

45 Select ciclista.nombre, ciclista.dorsal


From ciclista, etapa, puerto
Where ciclista.dorsal=etapa.dorsal and etapa.netapa=puerto.netapa
and not exists (select *
from puerto p1
where ciclista.dorsal<>p1.dorsal and etapa.netapa=p1.netapa);

46 Select distinct equipo.nomeq


From equipo, ciclista c1
Where equipo.nomeq=c1.nomeq
And exists (select *
From ciclista c2, puerto, llevar
Where c1.dorsal=c2. dorsal and (c2.dorsal=llevar.dorsal or
c2.dorsal=puerto.dorsal))
Having count (*)=(select count (*)
From ciclista c3
Where equipo.nomeq=c3. nomeq
Group by c3.nomeq)
Group by equipo.nomeq;
47
Select maillot.codigo, maillot.color, equipo.nomeq
From maillot, llevar, ciclista, equipo
Where maillot.codigo=llevar.codigo and llevar.dorsal=ciclista.dorsal and
ciclista.nomeq=equipo.nomeq
And not exists (select *
From llevar ll, ciclista c
Where ll.codigo=maillot.codigo and ll.dorsal=c.dorsal and
c.nomeq<>ciclista.nomeq);

48 Select distinct equipo.nomeq


From equipo, ciclista, puerto
Where equipo.nomeq=ciclista.nomeq and ciclista.dorsal=puerto.dorsal and
puerto.categoria=ʼ1ʼ
And not exists (select *
From puerto p, ciclista c
Where c.nomeq=ciclista.nomeq and c.dorsal <>ciclista.dorsal
and c.dorsal=p.dorsal and
p.categoria<>ʼ1ʼ);
49 select netapa,count(*)
from puerto
group by netapa;

50 select nomeq,count(*)
from ciclista
group by nomeq;

51 select equipo.nomeq,director
from equipo,ciclista
where equipo.nomeq=ciclista.nomeq
group by equipo.nomeq
having count(*)>3 and avg(edad)>30;

52 Select ciclista.nombre, count(*)


From ciclista, equipo, etapa
Where ciclista.nomeq=equipo.nomeq and ciclista.dorsal=etapa.dorsal
And equipo.nomeq in (select c.nomeq
From ciclista c
Having count(*)>5
Group by nomeq)
Group by ciclista.nombre ;

53 Select nomeq, avg(ciclista.edad)


From ciclista
Having avg(edad ) = (select max(avg(edad) )
From ciclista c
Group by c.nomeq)
Group by nomeq;

54 Select e.descripción, c.nomeq, count (*)


From ciclista c, llevar ll, equipo e
Where c.dorsal =ll.dorsal and c.nomeq=e.nomeq
Having count(*) = (select max(count(*))
From llevar ll1, ciclista c1
Where ll1.dorsal=c1.dorsal
Group by (c1.nomeq) )
Group by e.descripción, c.nomeq;

También podría gustarte