You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
187 lines
9.6 KiB
187 lines
9.6 KiB
-- Question 1
|
|
SELECT d.*
|
|
FROM Discipline d, Epreuve e
|
|
WHERE d.code=e.discipl AND e.dateE < '2021-08-01' AND e.dateE > '2021-06-30'
|
|
GROUP BY d.code
|
|
HAVING count(*) >=ALL (SELECT count(*)
|
|
FROM Epreuve
|
|
WHERE dateE >= '2021-08-01' AND dateE <= '2021-08-31' AND d.code=discipl);
|
|
|
|
-- code | nom
|
|
-- ------+-----------------------
|
|
-- FEN | Fencing
|
|
-- JUD | Judo
|
|
-- TKW | Taekwondo
|
|
-- GTR | Trampoline Gymnastics
|
|
-- TRI | Triathlon
|
|
-- TTE | Table Tennis
|
|
-- CRD | Cycling Road
|
|
-- SKB | Skateboarding
|
|
-- SWM | Swimming
|
|
-- BK3 | 3x3 Basketball
|
|
-- SRF | Surfing
|
|
-- ROW | Rowing
|
|
-- RUG | Rugby Sevens
|
|
-- BSB | Baseball/Softball
|
|
-- DIV | Diving
|
|
-- SHO | Shooting
|
|
-- BMX | Cycling BMX Racing
|
|
-- CSL | Canoe Slalom
|
|
-- ARC | Archery
|
|
-- TEN | Tennis
|
|
-- WLF | Weightlifting
|
|
|
|
|
|
-- Question 2 3l
|
|
SELECT p.nom FROM Pays p WHERE (SELECT COUNT(*) FROM Athlete a WHERE a.pays = p.code) * 0.5 <= (SELECT COUNT(DISTINCT r.athlete) FROM Resultat r
|
|
WHERE r.medaille IS NOT NULL AND r.athlete IN (SELECT a.code FROM Athlete a WHERE a.pays = p.code));
|
|
/* nom
|
|
--------------------
|
|
Bermuda
|
|
San Marino
|
|
Fiji
|
|
Russian Federation
|
|
URSS
|
|
(5 lignes)
|
|
*/
|
|
|
|
20l
|
|
/*a faire sans left join*/
|
|
SELECT Pays.nom FROM Pays JOIN Athlete ON Athlete.pays = Pays.code JOIN Resultat ON Resultat.athlete = Athlete.code
|
|
JOIN Medaille ON Medaille.place = Resultat.medaille AND Medaille.couleur = 'Or'
|
|
LEFT JOIN Medaille MedailleArgent ON MedailleArgent.place = Resultat.medaille AND MedailleArgent.couleur = 'Argent'
|
|
LEFT JOIN Medaille MedailleBronze ON MedailleBronze.place = Resultat.medaille AND MedailleBronze.couleur = 'Bronze' GROUP BY Pays.nom
|
|
HAVING COUNT(Medaille.place) > COUNT(MedailleArgent.place) + COUNT(MedailleBronze.place);
|
|
/* nom
|
|
----------------------------
|
|
Australia
|
|
Austria
|
|
Bahamas
|
|
Belarus
|
|
Belgium
|
|
Bermuda
|
|
Brazil
|
|
Bulgaria
|
|
Canada
|
|
Chinese Taipei
|
|
Croatia
|
|
Cuba
|
|
Czech Republic
|
|
Denmark
|
|
Ecuador
|
|
*/
|
|
|
|
|
|
SELECT a.nom, a.prenom FROM Athlete a WHERE a.sexe = 'F' AND a.taille > ALL ( SELECT a2.taille FROM Athlete a2 WHERE a2.sexe = 'M' AND a2.pays = a.pays);
|
|
/*Marche pas ou retourne rien*/
|
|
|
|
-- Question 5
|
|
SELECT a.nom, a.prenom, a.taille, t.max_taille FROM Athlete a JOIN (SELECT pays, MAX(taille) AS max_taille FROM Athlete WHERE sexe = 'M' AND pays = 'FRA'
|
|
GROUP BY pays) t ON a.pays = t.pays WHERE a.sexe = 'M' AND a.pays = 'FRA';
|
|
|
|
-- nom | prenom | taille | max_taille
|
|
-- ------------------+-----------------+--------+------------
|
|
-- ABALO | Luc | 1.83 | 2.18
|
|
-- AIT SAID | Samir | 1.68 | 2.18
|
|
-- ALBICY | Andrew | 1.78 | 2.18
|
|
-- ALIEV | Mourad | | 2.18
|
|
-- AMDOUNI | Morhad | | 2.18
|
|
-- AMOROS | Emile | 1.78 | 2.18
|
|
-- ANDRE | Sylvain | | 2.18
|
|
-- ANDRODIAS | Matthieu | 1.94 | 2.18
|
|
-- ANNE | Mame-Ibra | | 2.18
|
|
-- APITHY | Bolade | | 2.18
|
|
-- ATSU | Jonathan | | 2.18
|
|
-- AUBRY | David | | 2.18
|
|
-- AYACHE | Alexandre | | 2.18
|
|
-- BAJIC | Stefan | 1.91 | 2.18
|
|
-- BARD | Melvin | 1.73 | 2.18
|
|
-- BART | Adrien | 1.84 | 2.18
|
|
-- BATUM | Nicolas | 2.03 | 2.18
|
|
-- BEAUMONT | Maxime | 1.90 | 2.18
|
|
-- BEDRANI | Djilali | | 2.18
|
|
-- BEKA BEKA | Alexis | 1.75 | 2.18
|
|
-- BELAUD | Valentin | | 2.18
|
|
-- BELOCIAN | Wilhem | | 2.18
|
|
-- BENNAMA | Billal | 1.75 | 2.18
|
|
-- BERGERE | Leo | | 2.18
|
|
-- BERNARDONI | Paul | 1.90 | 2.18
|
|
-- BERNAZ | Jean Baptiste | 1.90 | 2.18
|
|
-- BERTAUD | Dimitry | 1.80 | 2.18
|
|
-- BESSAGUET | Clement | 1.81 | 2.18
|
|
-- BEY | Augustin | | 2.18
|
|
-- BIGOT | Quentin | | 2.18
|
|
-- BILLOT | Mathieu | | 2.18
|
|
-- BIRON | Gilles | 1.81 | 2.18
|
|
-- BORDIER | Gabriel | | 2.18
|
|
-- BOREL | Yannick | | 2.18
|
|
-- BOSSE | Pierre-Ambroise | | 2.18
|
|
-- BOUCHERON | Hugo | 1.95 | 2.18
|
|
-- BOUREZ | Michel | | 2.18
|
|
-- BOYER | Stephen | 1.96 | 2.18
|
|
-- BRIZARD | Antoine | 1.96 | 2.18
|
|
-- BULTOR | Daryl | 1.97 | 2.18
|
|
-- BURGER | Guillaume | 1.81 | 2.18
|
|
-- BUSSIERE | Theo | | 2.18
|
|
-- CACI | Anthony | 1.84 | 2.18
|
|
|
|
|
|
-- Question 6
|
|
SELECT e.code, e.discipl, e.nom, e.dateE, MIN(e2.dateE) AS datemin, MAX(e2.dateE) AS datemax FROM Epreuve e JOIN Epreuve e2 ON e.discipl = e2.discipl
|
|
GROUP BY e.code, e.discipl, e.nom, e.dateE ORDER BY e.dateE;
|
|
|
|
-- code | discipl | nom | datee | datemin | datemax
|
|
-- ------+---------+----------------------------------------------+------------+------------+------------
|
|
-- E002 | CRD | Men's Road Race | 2021-07-24 | 2021-07-24 | 2021-07-28
|
|
-- E004 | FEN | Women's Epée Individual | 2021-07-24 | 2021-07-24 | 2021-08-01
|
|
-- E007 | SHO | 10m Air Pistol Men | 2021-07-24 | 2021-07-24 | 2021-08-02
|
|
-- E009 | TKW | Men -58kg | 2021-07-24 | 2021-07-24 | 2021-07-27
|
|
-- E008 | SHO | 10m Air Rifle Women | 2021-07-24 | 2021-07-24 | 2021-08-02
|
|
-- E003 | FEN | Men's Sabre Individual | 2021-07-24 | 2021-07-24 | 2021-08-01
|
|
-- E011 | WLF | Women's 49kg | 2021-07-24 | 2021-07-24 | 2021-08-04
|
|
-- E010 | TKW | Women -49kg | 2021-07-24 | 2021-07-24 | 2021-07-27
|
|
-- E006 | JUD | Women -48 kg | 2021-07-24 | 2021-07-24 | 2021-07-31
|
|
-- E001 | ARC | Mixed Team | 2021-07-24 | 2021-07-24 | 2021-07-31
|
|
-- E005 | JUD | Men -60 kg | 2021-07-24 | 2021-07-24 | 2021-07-31
|
|
-- E025 | SWM | Women's 400m Individual Medley | 2021-07-25 | 2021-07-25 | 2021-08-01
|
|
-- E015 | FEN | Men's Epée Individual | 2021-07-25 | 2021-07-24 | 2021-08-01
|
|
-- E026 | TKW | Men -68kg | 2021-07-25 | 2021-07-24 | 2021-07-27
|
|
-- E020 | SHO | 10m Air Rifle Men | 2021-07-25 | 2021-07-24 | 2021-08-02
|
|
-- E023 | SWM | Men's 400m Individual Medley | 2021-07-25 | 2021-07-25 | 2021-08-01
|
|
-- E028 | WLF | Men's 61kg | 2021-07-25 | 2021-07-24 | 2021-08-04
|
|
-- E014 | DIV | Women's Synchronised 3m Springboard | 2021-07-25 | 2021-07-25 | 2021-08-07
|
|
-- E029 | WLF | Men's 67kg | 2021-07-25 | 2021-07-24 | 2021-08-04
|
|
-- E016 | FEN | Women's Foil Individual | 2021-07-25 | 2021-07-24 | 2021-08-01
|
|
-- E021 | SKB | Men's Street | 2021-07-25 | 2021-07-25 | 2021-08-05
|
|
-- E027 | TKW | Women -57kg | 2021-07-25 | 2021-07-24 | 2021-07-27
|
|
-- E013 | CRD | Women's Road Race | 2021-07-25 | 2021-07-24 | 2021-07-28
|
|
-- E024 | SWM | Women's 4 x 100m Freestyle Relay | 2021-07-25 | 2021-07-25 | 2021-08-01
|
|
-- E017 | JUD | Men -66 kg | 2021-07-25 | 2021-07-24 | 2021-07-31
|
|
-- E022 | SWM | Men's 400m Freestyle | 2021-07-25 | 2021-07-25 | 2021-08-01
|
|
-- E012 | ARC | Women's Team | 2021-07-25 | 2021-07-24 | 2021-07-31
|
|
-- E018 | JUD | Women -52 kg | 2021-07-25 | 2021-07-24 | 2021-07-31
|
|
-- E019 | SHO | 10m Air Pistol Women | 2021-07-25 | 2021-07-24 | 2021-08-02
|
|
-- E044 | SWM | Women's 100m Butterfly | 2021-07-26 | 2021-07-25 | 2021-08-01
|
|
-- E050 | WLF | Women's 55kg | 2021-07-26 | 2021-07-24 | 2021-08-04
|
|
-- E038 | JUD | Women -57 kg | 2021-07-26 | 2021-07-24 | 2021-07-31
|
|
-- E040 | SHO | Skeet Women | 2021-07-26 | 2021-07-24 | 2021-08-02
|
|
-- E031 | GAR | Men's Team | 2021-07-26 | 2021-07-26 | 2021-08-03
|
|
-- E039 | SHO | Skeet Men | 2021-07-26 | 2021-07-24 | 2021-08-02
|
|
-- E049 | TRI | Men's Individual | 2021-07-26 | 2021-07-26 | 2021-07-31
|
|
|
|
-- Question 7
|
|
UPDATE Epreuve SET dateE = dateE + INTERVAL '7' DAY WHERE dateE = (SELECT MAX(dateE) FROM Epreuve);
|
|
/*UPDATE 13*/
|
|
|
|
|
|
-- Question 8
|
|
SELECT a.pays
|
|
FROM athlete a, resultat r, epreuve e, discipline d
|
|
WHERE a.code = r.athlete AND e.code = r.epreuve AND d.code = e.discipl AND d.nom = 'Weightlifting'
|
|
GROUP BY a.pays;
|
|
|
|
-- Question 9
|
|
INSERT INTO Epreuve (code, discipl, nom, dateE)
|
|
VALUES ('E356', 'GLF', 'Women''s team', '2021-08-09');
|
|
/*INSERT 0 1*/
|