cours-2025-2026 | Supports de mes cours pour l'année 2025-2026 | FX Jollois
SELECT *
FROM Seances;
SELECT *
FROM Sportifs
ORDER BY Age;
SELECT *
FROM Gymnases
ORDER BY Surface DESC
LIMIT 5;
SELECT Nom, Prenom
FROM Sportifs
WHERE AGE > 30;
SELECT *
FROM Gymnases
WHERE UPPER(Ville) = "STAINS";
SELECT Nom, Prenom
FROM Sportifs
WHERE IdSportifConseiller IS NULL;
SELECT Libelle
FROM Sports;
SELECT DISTINCT Sexe
FROM Sportifs;
SELECT DISTINCT Duree,
Duree / 60.0 AS "Durée heure"
FROM Seances
ORDER BY 1;
SELECT DISTINCT Duree,
Duree / 60.0 AS "Durée heure",
(Duree / 60) || "h" ||
CASE
WHEN (Duree % 60) < 10 THEN "0" || (Duree % 60)
ELSE Duree % 60
END AS "Durée heure mieux"
FROM Seances
ORDER BY 1;
SELECT NomGymnase, Surface,
ROUND(Surface / 0.09290304) AS "Surface pieds²"
FROM Gymnases;
SELECT Nom, Prenom,
LOWER(Nom || " " || SUBSTR(Prenom, 1, 1) || ".")
FROM Sportifs;
SELECT *
FROM Gymnases
WHERE INSTR(LOWER(Adresse), "place") > 0;
SELECT DATE("now") AS "Aujourd'hui",
STRFTIME("%d/%m/%Y", "now") AS "Plus classique"
SELECT Age,
2017 - Age AS "Année de naissance",
(2017 - Age) || "-01-01" AS "1er janvier année naissance (char)",
DATE((2017 - Age) || "-01-01") AS "1er janvier année naissance (date)",
STRFTIME("%w", DATE((2017 - Age) || "-01-01")) AS "Jour semaine du 1er janvier année naissance"
FROM Sportifs;
Plus simple
SELECT Age,
STRFTIME("%w", DATE("now"), "-" || Age || " year", "start of year") AS "Jour 1er janvier année naissance"
FROM Sportifs;
SELECT Nom, Prenom, Sexe,
CASE UPPER(Sexe)
WHEN "M" THEN "M."
WHEN "F" THEN "Mme"
END AS TitreCourtoisie
FROM Sportifs;
SELECT *,
CASE
WHEN Surface < 400 THEN "petit"
WHEN Surface < 550 THEN "moyen"
ELSE "grand"
END AS TypeGymnase
FROM Gymnases;
SELECT COUNT(*)
FROM Sportifs;
SELECT COUNT(*)
FROM Sportifs
WHERE IdSportifConseiller IS NOT NULL;
SELECT COUNT(DISTINCT Ville)
FROM Gymnases;
SELECT ROUND(AVG(Surface), 2)
FROM Gymnases;
SELECT ROUND(AVG(Age), 1) AS "Age moyen",
MIN(Age) AS "Age minimum",
MAX(Age) AS "Age maximum"
FROM Sportifs;
SELECT UPPER(Sexe) AS Sexe,
COUNT(*) AS "Nb Sportifs",
ROUND(AVG(Age), 1) AS "Age moyen"
FROM Sportifs
GROUP BY UPPER(Sexe);
SELECT Ville,
MIN(Surface) AS "Surface mini",
MAX(surface) AS "Surface maxi"
FROM Gymnases
GROUP BY Ville;
SELECT Ville, COUNT(*) AS "Nb Gymnases"
FROM Gymnases
GROUP BY Ville
HAVING COUNT(*) >= 5
ORDER BY 2 DESC;
SELECT *
FROM Sportifs
ORDER BY Age DESC
LIMIT 5;
SELECT DISTINCT Ville
FROM Gymnases
WHERE Surface > 500;
SELECT Nom, Prenom,
UPPER(Nom || " " || SUBSTR(Prenom, 1, 1) ||
CASE
WHEN INSTR(Prenom, "-") THEN ".-" ||SUBSTR(Prenom, INSTR(Prenom, "-") + 1, 1)
WHEN INSTR(Prenom, " ") THEN ".-" ||SUBSTR(Prenom, INSTR(Prenom, " ") + 1, 1)
ELSE ""
END || ". - " || (2017 - Age)) AS "NomPrenom"
FROM Sportifs;
SELECT IdSport, COUNT(*) AS "Nb Joueurs"
FROM Jouer
GROUP BY IdSport
ORDER BY 2 DESC;
SELECT CASE
WHEN Age <= 24 THEN "junior"
WHEN Age <= 30 THEN "senior 1"
WHEN Age <= 45 THEN "senior 2"
ELSE "autre"
END AS "Catégorie",
COUNT(*) AS "Nb Sportifs"
FROM Sportifs
GROUP BY "Catégorie";
SELECT Horaire, Duree,
CAST(FLOOR((ROUND(Horaire) * 60 + (Horaire * 100) % 100 + Duree) / 60) AS INTEGER) ||
"h" ||
CASE
WHEN (ROUND(Horaire) * 60 + (Horaire * 100) % 100 + Duree) % 60 = 0 THEN "0" || CAST(ROUND((ROUND(Horaire) * 60 + (Horaire * 100) % 100 + Duree) % 60) AS INTEGER)
ELSE CAST(ROUND((ROUND(Horaire) * 60 + (Horaire * 100) % 100 + Duree) % 60) AS INTEGER)
END AS Fin,
ROUND(Horaire) AS "Partie heure de Horaire",
(Horaire * 100) % 100 AS "Partie minute de Horaire",
ROUND(Horaire) * 60 + (Horaire * 100) % 100 "Horaire en minutes",
ROUND(Horaire) * 60 + (Horaire * 100) % 100 + Duree "Fin en minutes",
FLOOR((ROUND(Horaire) * 60 + (Horaire * 100) % 100 + Duree) / 60) AS "Partie heure de Fin",
ROUND((ROUND(Horaire) * 60 + (Horaire * 100) % 100 + Duree) % 60) AS "Partie minute de Fin"
FROM Seances;