Requête 24 : Donner le titre des films qui ont été primés au moins une fois (y compris les récompenses des acteurs jouant dans le film).
Forme plate:
SELECT DISTINCT F.TITRE, F.ANNÉE FROM FILM F, RÉCOMPENSE_FILM RF WHERE F.NUMF = RF.NUMF UNION SELECT DISTINCT F.TITRE, F.ANNÉE FROM FILM F, RÉCOMPENSE_ACTEUR RA WHERE F.NUMF = RA.NUMF
Forme imbriquée:
SELECT TITRE, ANNÉE FROM FILM WHERE NUMF IN ( SELECT NUMF FROM RÉCOMPENSE_FILM UNION SELECT NUMF FROM RÉCOMPENSE_ACTEUR )
Requête 25 : Lister les cinémas qui ont exclusivement passé des films primés.
Forme imbriquée:
SELECT NOM, VILLE FROM CINÉMA C WHERE NOT EXISTS ( SELECT * FROM PASSE P WHERE P.NUMC = C.NUMC AND NOT EXISTS (SELECT * FROM RÉCOMPENSE_FILM RF WHERE RF.NUMF = P.NUMF ) ANDNOT EXISTS ( SELECT * FROM RÉCOMPENSE_ACTEUR RA WHERE RA.NUMF = P.NUMF ) )
Forme imbriquée– prédicat NOT EXISTS :
SELECT NOM, VILLE FROM CINÉMA C WHERE NOT EXISTS ( SELECT * FROM PASSE P WHERE P.NUMC = C.NUMC AND NOT EXISTS ( SELECT * FROM ( SELECT NUMF FROM RÉCOMPENSE_FILM UNION SELECT NUMF FROM RÉCOMPENSE_ACTEUR ) AS R WHERE R.NUMF = P.NUMF ) )
Forme imbriquée – prédicat NOT IN :
SELECT NOM, VILLE FROM CINÉMA WHERE NUMC NOT IN ( SELECT NUMC FROM PASSE WHERE NUMF NOT IN ( SELECT R.NUMF FROM ( SELECT NUMF FROM RÉCOMPENSE_FILM UNION SELECT NUMF FROM RÉCOMPENSE_ACTEUR ) AS R ) ) )
Requête 26 : Donner le titre des films qui ont reçu au moins trois récompenses.
Forme imbriquée:
SELECT TITRE, ANNÉE FROM FILM WHERE NUMF IN ( SELECT R.NUMF FROM ( SELECT NUMF FROM RÉCOMPENSE_FILM UNION SELECT NUMF FROM RÉCOMPENSE_ACTEUR ) AS R GROUP BY R.NUMF HAVING COUNT (*) >= 3 )
Requête 27 : Noms et prénoms des acteurs qui ont reçu plus de récompenses qu”’”aucun acteur qui a joué dans « Casablanca » n”’”en a eu.
Forme imbriquée:
SELECT PRÉNOM, NOM FROM PERSONNE WHERE NUMP IN ( SELECT NUMA FROM RÉCOMPENSE_ACTEUR GROUP BY NUMA HAVING COUNT (*) > ( SELECT MAX ( SELECT COUNT (*) FROM RÉCOMPENSE_ACTEUR WHERE NUMA IN ( SELECT NUMA FROM DISTRIBUTION WHERE NUMF IN ( SELECT NUMF FROM FILM WHERE TITRE = ‘Casablanca’)) GROUP BY NUMA)))