/*Affichez tous les services (noms et localisation des services).*/ select struct(nom:s.nom,loc:s.localisation) from s in Lesservices /*Quels sont les noms des Docteurs?*/ select d.nom from d in Lesdocteurs /*Quel est le nombre maximum de consultations pour un docteur?*/ max(select count(d.consultations) from d in Lesdocteurs) /* subsidiaire: quel est son nom?*/ select d.nom from d in Lesdocteurs where count(d.consultations)= max (select count(d1.consultations) from d1 in Lesdocteurs); /*Existe-t-il un docteur qui n'a pas de sup\'erieur hi\'erarchique?*/ exists d in Lesdocteurs: d.superieur=nil /*subsidiaire: quel est son nom?*/ select d.nom from d in Lesdocteurs where d.superieur=nil /*Classez les patients selon leur nombre de consultations.*/ select struct(n:p.nom,nb:count(p.consultations)) from p in Lespatients order by count(p.consultations); /*Regroupez les docteurs selon leur service (resultat : nom du service, ensemble de nom de docteurs) en utilisant un group by*/ select struct(serv:d.service.nom,doc:(select p.d.nom from p in partition)) from d in Lesdocteurs group by d.service.nom /*subsidiaire: services avec leurs docteurs*/ select struct(serv:s.nom,doc:(select d.nom from d in Lesdocteurs where d.service=s)) from s in Lesservices; /*Combien y-a-t il de service ne possedant pas de docteur ayant pour qualification Chef de service?*/ count(select s.nom from s in Lesservices where not (s in (select d.service from d in Lesdocteurs where d.qualif="CHEF DE SERVICE")))