0% ont trouvé ce document utile (0 vote)
122 vues5 pages

Correction Serie11

Ce document contient 23 requêtes SQL portant sur une base de données décrivant des stations de vacances, leurs activités et leurs clients. Les requêtes interrogent les tables Station, Client, Activité et Séjour pour obtenir diverses informations telles que les noms de stations proposant de la plongée ou les clients n'étant pas allés à une station particulière.

Transféré par

Slimén Nasri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
122 vues5 pages

Correction Serie11

Ce document contient 23 requêtes SQL portant sur une base de données décrivant des stations de vacances, leurs activités et leurs clients. Les requêtes interrogent les tables Station, Client, Activité et Séjour pour obtenir diverses informations telles que les noms de stations proposant de la plongée ou les clients n'étant pas allés à une station particulière.

Transféré par

Slimén Nasri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Correction série de révision SQL

1) Nom des stations ayant strictement plus de 200 places.


SELECT nomStation
FROM Station
WHERE capacité > 200
nomStation
Venusa
Passac
2) Noms des clients dont le nom commence par ’P’ ou dont le solde est supérieur à
10000.
SELECT nom
FROM Client
WHERE nom LIKE ’P%’ Or Solde > 10000
Nom
Fogg
Pascal
3) Quelles sont les régions dont l’intitulé comprend (au moins) deux mots ?
SELECT région
FROM Station
WHERE région LIKE ’% %’
région
Océan Indien
4) Nom des stations qui proposent de la plongée.
SELECT nomStation
FROM Activité
WHERE Libellé = ’Plongée’
NomStation
Venusa
Farniente
5) Nom des clients qui sont allés à Santalba.
SELECT nom
FROM Client C, Séjour S
WHERE [Link] = [Link]
And station = ’Santalba’
Nom
Kerouac
Pascal
6) Donnez les couples de clients qui habitent dans la même région. Attention : un couple
doit apparaître une seule fois.
SELECT [Link], [Link]
FROM Client C1, client C2
WHERE [Link]<[Link] AND C1.région=C2.région;
[Link] [Link]
Fogg Pascal
7) Nom des régions qu’a visité Mr Pascal.
SELECT DISTINCT St.région
FROM Station St, Client C, Séjour S
WHERE [Link] = [Link]
And [Link] = [Link]
And [Link] = ’Pascal’
région
Antilles
8) Nom des stations visitées par des européens.
SELECT DISTINCT station
FROM Client C, Séjour S
WHERE [Link] = [Link]
And région = ’Europe’
Station
Passac
Santalba
Venusa
Farniente
9) Qui n’est pas allé dans la station Farniente ?
SELECT DISTINCT nom
FROM Client
WHERE id Not In
(Select idClient
From Séjour
WHERE station = ’Farniente’)
Nom
Pascal
10) Quelles stations ne proposent pas de la plongée ?
SELECT DISTINCT NomStation
FROM Activité
WHERE NomStation Not In
(Select NomStation
From Activité
WHERE Libellé = ’Plongée’)
NomStation
Passac
Santalba
11) Combien de séjours ont eu lieu à Passac ?
SELECT COUNT(*) As nbreSéjours
FROM Séjour
WHERE station = ’Passac’
nbreSéjours
2
12) Donner, pour chaque station, le nombre de séjours qui s’y sont déroulés.
SELECT station, COUNT(*) As nbreSéjours
FROM Séjour
GROUP BY station
station nbreSéjours
Passac 2
Santalba 2
Venusa 2
Farniente 2
13) Donner les stations où se sont déroulés au moins 2 séjours.
SELECT station, COUNT(*) As nbreSéjours
FROM Séjour
GROUP BY station
Having COUNT(*) >= 2
station nbreSéjours
Passac 2
Santalba 2
Venusa 2
Farniente 2

4
14) Les clients qui sont allés dans toutes les stations.
SELECT nom
FROM Client C
WHERE NOT EXISTS( SELECT nomStation
FROM Station St
WHERE NOT EXISTS (SELECT *
FROM Séjour S
WHERE [Link]=[Link]
AND [Link]=[Link]) ) ;
Nom
Kerouac

15) Quelles sont les stations dont le nom commence par un ’V’ et comprend exactement 6
caractères ?
SELECT nomStation
FROM Station
WHERE nomStation LIKE ’V̵̵̵̵̵̵̵̵̵̵̵̵̵̵̵̵̵̵̵̵̵̵̵̵̵’

NomStation
Venusa
16) Donnez tous les noms de région dans la base.
SELECT région FROM Station
UNION
SELECT région FROM Client
Région
Antilles
Océan Indien
Amérique
Europe

17) Donnez les régions où l’on trouve à la fois des clients et des stations.
SELECT région FROM Station
INTERSECT
SELECT région FROM Client
région
Europe
18) Quelles sont les régions où l’on trouve des stations mais pas des clients ?
SELECT région FROM Station
EXCEPT
SELECT région FROM Client

Autrement
SELECT région FROM Station
Minus
SELECT région FROM Client

région
Antilles
Océan Indien
19) Où (station, lieu) ne peut-on pas faire du ski ?
SELECT nomStation, lieu
FROM Station
WHERE nomStation NOT IN (SELECT nomStation FROM Activité
WHERE libellé = ’Ski’)

5
nomStation lieu
Venusa Guadeloupe
Farniente Seychelles
Santalba Martinique

6
20) Quelle station pratique le tarif le plus élevé ?
SELECT nomStation
FROM Station
WHERE tarif >= ALL (SELECT tarif FROM Station)
nomStation
Santalba

Ou bien
SELECT nomStation
FROM Station
WHERE tarif >= (SELECT max(tarif)FROM Station)

21) Dans quelle station pratique-t-on une activité au même prix qu’à Santalba ?
SELECT nomStation, libellé
FROM Activité
WHERE nomStation != ’Santalba’
And prix IN (SELECT prix FROM Activité WHERE nomStation = ’Santalba’)

NomStation Libellé
Passac Piscine
2ème possibilité :
SELECT nomStation, libellé
FROM Activité A1
WHERE nomStation != ’Santalba’
AND EXISTS (SELECT * FROM Activité A2
WHERE nomStation = ’Santalba’
AND [Link] = [Link])

22) Combien de places a réservé Mr Kerouac pour l’ensemble des séjours ?


SELECT SUM (nbPlaces) As nbreplaces
FROM Client, Séjour
WHERE nom = ’Kerouac’
AND id = idClient
nbreplaces
16

23) On souhaite consulter le nombre de places réservées, par client, pour les clients ayant
réservé plus de 10 places.
SELECT nom, SUM (nbPlaces) As nbrePlaces
FROM Client, Séjour
WHERE id = idClient
GROUP BY nom
HAVING SUM(nbPlaces) >= 10

Vous aimerez peut-être aussi