Skip to content

Instantly share code, notes, and snippets.

@laowantong
Created December 17, 2018 21:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save laowantong/46ecc2e2c67733709485b2904b6b0705 to your computer and use it in GitHub Desktop.
Save laowantong/46ecc2e2c67733709485b2904b6b0705 to your computer and use it in GitHub Desktop.

Requêtes

  • Quels sont les potions qui ont des effets prévus en commun ?
SELECT DISTINCT(A.nom_potion)
FROM   PRÉVOIR A, PRÉVOIR B
WHERE  A.nom_effet = B.nom_effet
  AND  A.nom_potion != B.nom_potion
--
SELECT DISTINCT(nom_potion)
FROM   PRÉVOIR A JOIN PRÉVOIR B USING (nom_effet)
WHERE  A.nom_potion != B.nom_potion
  • Quels villageois ont participé à la dernière bataille ?
SELECT nom_villageois
FROM   PARTICIPER
WHERE nom_bataille IN (
    SELECT nom_bataille -- nom de la dernière bataille
    FROM BATAILLE
    WHERE date = (
        SELECT MAX(date) -- date de la dernière bataille
        FROM BATAILLE
    )
)
  • Quels villageois ont participé à la dernière bataille qui a eu lieu dans la clairière des écureuils ?
SELECT nom_villageois
FROM   PARTICIPER
WHERE nom_bataille IN (
    SELECT nom_bataille -- nom de la dernière bataille dans la clairière
    FROM BATAILLE
    WHERE lieu = "clairière des écureuils"
      AND date = (
        SELECT MAX(date) -- date de la dernière bataille dans la clairière
        FROM BATAILLE
        WHERE lieu = "clairière des écureuils"
    )
)
  • Quel trophée de grade immédiatement supérieur à centurion a été récolté par le forgeron ?
    1. Quel est le grade immédiatement supérieur à centurion ?
    SELECT grade_supérieur
    FROM   GRADE
    WHERE  grade = "centurion"
    1. Quels sont les trophées associés à ce grade ?
    SELECT num_trophée
    FROM   TROPHÉE
    WHERE  grade IN (
        SELECT grade_supérieur
        FROM   GRADE
        WHERE  grade = "centurion"
    )
    1. Lesquels sont récupérés par le forgeron ?
    SELECT num_trophée
    FROM   TROPHÉE JOIN VILLAGEOIS USING(nom_villageois)
    WHERE  fonction = "forgeron"
      AND  num_trophée IN (
        SELECT num_trophée
        FROM   TROPHÉE
        WHERE  grade IN (
            SELECT grade_supérieur
            FROM   GRADE
            WHERE  grade = "centurion"
        )
    )
  • Quels villageois ont consommé de la potion magique ?
SELECT nom_villageois
FROM   PRESCRIPTION JOIN COMPOSER USING(num_prescription)
WHERE  nom_potion = "potion magique"
  • Quel est le nom de la potion qui donne l'invincibilité ?
SELECT nom_potion
FROM   PRÉVOIR
WHERE  nom_effet = "invincibilité"
  • Villageois n'ayant jamais participé à une bataille ?
SELECT nom_villageois
FROM VILLAGEOIS LEFT JOIN PARTICIPER USING(nom_villageois)
WHERE nom_bataille IS NULL
  • Quelles sont les potions qui n'ont pas eu l'effet escompté, autrement dit, qui entrent dans des prescriptions pour lesquelles les effets observés diffèrenrt des effets prévus pour cette potion.
  • Qui a consommé le plus de potions ?
IMPOSSIBLE SANS REGROUPEMENT
  • Quel villageois a récolté le plus de trophées ?
IDEM
  • Quel villageois a le plus de liens de parenté ?
IDEM
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment