Consultas SQL Avanzadas en SGBD
Consultas SQL Avanzadas en SGBD
TP – REQUETESSQL AVANCEES
Objectif– Le but de ce TP est d’écrire des requêtes SQL d’interrogation, de type SELECT FROM
DONDE utilizando construcciones más complejas como group by, having, y las consultas
imbriquées.
• EQUIPE(code,nom,directeur)
• PAYS(code,nom)
• COUREUR(num-dossart,code-equipe*,nom,code-pays*)
• ETAPE(num,date-etape,kms,ville-depart,ville-arrivee)
• TEMPS(num-dossart*,num-etape*,temps-realise)
Observación: la tabla TEMPS solo almacena los tiempos de los jugadores que han participado en la etapa. Si
un coureur déclare forfait pour une étape, son temps n’apparait pas.
GROUP BY,HAVING
1. Dé el número de etapas realizadas por cada corredor.
Completar la solicitud ordenando los resultados en orden ascendente por el nombre de
corredores.
Modificar la consulta de manera que solo se consideren los tiempos superiores a 2h.
Completar la solicitud conservando solo a los corredores que han realizado al menos uno
etapa.
¿Cuál es la diferencia entre la cláusula WHERE y la cláusula HAVING?
2. Donnez le code et le nom des pays ayant plus d'un coureur, ainsi que le nombre de
coureurs par pays, classé par ordre alphabétique croissant des noms de pays.
1
3. Dé la nombre de los corredores cuya suma total de tiempo (suma del tiempo utilizado para cada
étape) est inférieur à 9h00, classé par temps total croissant.
REQUETES IMBRIQUEADAS
1. Indique el nombre de los jugadores que no corrieron la etapa 2.
2. Dé la nombre de los corredores cuya primera letra de su nombre es idéntica a esa.
de otro jugador (ejemplo: REICHL y ROUS) utilizando EXISTS.
3. Indica el nombre y el tiempo del último corredor que llegó en cada etapa
4. Dé los corredores que no han ganado (en otras palabras, todos los corredores excepto el
premier) para cada etapa.
5. Dale el 2índicemejor tiempo para la etapa 1 usando el hecho de que no hay empates
(los tiempos son todos únicos).
6. Misma pregunta sin presuponer ninguna unicidad sobre los tiempos, sabiendo que no se
no intentes dejar un rango vacío.