-- ? Q1). Lister les candidat(e)s (noms, prénoms) qui fêtent leur anniversaire ce mois-ci ? -- ?(Assurez-vous que la requête fonctionne, peu importe la date à laquelle elle est exécutée.) SELECT nom, prenom FROM Candidat WHERE date_trunc('month', dateNaiss) - date_trunc('year', dateNaiss) = date_trunc('month', CURRENT_DATE) - date_trunc('year', CURRENT_DATE); --? Q2). Pour chaque élection, afficher les dates du premier et du deuxième tour afin d’obtenir le format suivant : --? election | dates --? ----------------------+----------------------------------- --? Présidentielles 2022 | 1er tour : 10/04, 2e tour : 24/04 --? Les élections devront être affichées par ordre chronologique inverse. SELECT 'Présidentiels ' || annee, '1er tour : ' || to_char(t1.dateT, 'DD/MM') || ', 2e tour : ' || to_char(t1.dateT, 'DD/MM') AS dates FROM Election, Tour t1, Tour t2 WHERE annee = t1.election AND t1.election = t2.election AND t1.tour = 1 AND t2.tour = 2 ORDER BY t1.dateT DESC; --? Q3). Y a t’il déjà eu un tour d’élection qui s’est produit un jour autre que le dimanche? --? Votre requête doit afficher la date à laquelle cela s’est produit le cas échéant, sinon elle devra ne retourner aucune ligne. SELECT dateT FROM Tour WHERE to_char(dateT, 'FMDAY') != 'SUNDAY'; --? Q4). Lister les candidats (noms, prénoms) dont le parti contient le mot France ou Français(e). SELECT c.nom, c.prenom FROM Candidat c, SePresente s, Parti p WHERE c.noCandidat = s.noCandidat AND s.parti = p.tag AND p.tag LIKE '%France%' OR p.tag LIKE '%Français%' OR p.tag LIKE '%Français%'; --? Q5). Pour chaque élection, quel département (code et nom) est celui ayant le plus petit nombre --? d’inscrits sur les listes électorales ? SELECT d.code, d.nom FROM Resultats r, Departement d, Tour t WHERE r.dpt = d.code AND r.tour = t.dateT AND r.inscrits <= ALL(SELECT r1.inscrits FROM Resultats r1 WHERE r1.tour = t.dateT); --? Q6). Y a t’il un écart dans le nombre d’inscrits sur les listes électorales entre le premier et le second tour d’une élection ? --? Afficher le résultat pour chaque élection. SELECT 'tour 1 : ' || r1.inscrits, 'tour 2 : ' || r2.inscrits, t1.election FROM Resultats r1, Tour t1, Resultats r2, tour t2 WHERE r1.tour = t1.dateT AND r2.tour = t2.dateT AND t1.election = t2.election; --? Q7). Quel a été le plus haut score (en pourcentage de voix exprimées) réalisé lors d’un premier tour ? De quel(le) candidat(e) s’agit-il ? SELECT r.votants/r.inscrits as pourcentage, c.nom, c.prenom FROM Tour t, Resultats r, DetailVoix d, Candidat c WHERE r.tour = t.dateT AND t.dateT = d.tour AND d.noCandidat = c.noCandidat AND t.tour = 1 AND r.votants >= ALL(SELECT r1.votants FROM Resultats r1 WHERE r1.tour = t.dateT); -- Q8). Rajouter une colonne position à la table Parti qui peut prendre les valeurs Ga, Dr, EG, ED et Ce (pour Gauche, Droite, Extrême Gauche, Extrême Droite et Centre). -- Rappel : -- — -- — — -- ALTER TABLE ADD : permet d’ajouter une colonne à une table -- ALTER TABLE ADD CONSTRAINT : permet d’ajouter une contrainte ALTER TABLE ADD :permetd’ajouterune colonne à une table avec une contrainte.