Requetes SQL
SnakeIn
-
Profil bloqué -
Profil bloqué -
Bonjour,
Petites revisions Concours sql, Algebre rel. et language tuples
Soit les 2 tables suivantes :
Clubs (N°Club, Ville, capacite)
Personnes (N°pers, N°Club)
On demande, les clubs qui sont visités par au moins une personne :
AR : : (Symb. Pi) N°Club(Personne)
Tuples : {P.N°pers | (il existe au moins) P, Personnes }
Sql : Select distinct N°Perso
From Personnes ;
On demandes, les clubs qui ne sont fréquentés par aucune personne :
(Pi = projection en AR)
AR : (Pi) N°Perso(Clubs) / (Pi) N°Perso(Personnes)
Sql : Select distinct N°Perso
From Clubs
Where NOT IN (Select N°Perso From Personne )
Une petite dernière : (niveau au dessus)
on demande les Personnes ne fréquentant que des clubs non fréquentées par d’autres Peronnes.
AR : ?
tuples : ?
Sql : Select N°Perso
From Personnes
Where N°Perso EXIST (Select N°Perso From Personnes GroupBy N°Perso Having count (*) = 1);
J'aimerai votre avis, voir vos corrections sur les différentes requetes ? je dépoussière un peu mes cours de sql ca fait longtemps, par contre pour le tuple et l'ar je découvre un peu.
Merci
SnakeIn
Ps : j'ai fait mes requetes sans croiser les tables ? mais je ne pense pas que cela soit necessaire ?
Petites revisions Concours sql, Algebre rel. et language tuples
Soit les 2 tables suivantes :
Clubs (N°Club, Ville, capacite)
Personnes (N°pers, N°Club)
On demande, les clubs qui sont visités par au moins une personne :
AR : : (Symb. Pi) N°Club(Personne)
Tuples : {P.N°pers | (il existe au moins) P, Personnes }
Sql : Select distinct N°Perso
From Personnes ;
On demandes, les clubs qui ne sont fréquentés par aucune personne :
(Pi = projection en AR)
AR : (Pi) N°Perso(Clubs) / (Pi) N°Perso(Personnes)
Sql : Select distinct N°Perso
From Clubs
Where NOT IN (Select N°Perso From Personne )
Une petite dernière : (niveau au dessus)
on demande les Personnes ne fréquentant que des clubs non fréquentées par d’autres Peronnes.
AR : ?
tuples : ?
Sql : Select N°Perso
From Personnes
Where N°Perso EXIST (Select N°Perso From Personnes GroupBy N°Perso Having count (*) = 1);
J'aimerai votre avis, voir vos corrections sur les différentes requetes ? je dépoussière un peu mes cours de sql ca fait longtemps, par contre pour le tuple et l'ar je découvre un peu.
Merci
SnakeIn
Ps : j'ai fait mes requetes sans croiser les tables ? mais je ne pense pas que cela soit necessaire ?
A voir également:
- Requetes SQL
- Logiciel sql - Télécharger - Bases de données
- Jointure sql ✓ - Forum MySQL
- Sql lister les tables ✓ - Forum Programmation
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
- Cherche des haricot vendez les moi ✓ - Forum DS
4 réponses
1ére requéte:
select distinct N°club from clubs c,personnes p
where n°club in(select n°club ,count(n°pers)nb
from personnes where nb<=1) and c.n°club=p.n°club;
select distinct N°club from clubs c,personnes p
where n°club in(select n°club ,count(n°pers)nb
from personnes where nb<=1) and c.n°club=p.n°club;
slooptoo
select distinct nclub from personnes
Profil bloqué
>
slooptoo
c'est vrai que j'ai cherché 1 peu trop loin.merci!!!
2ére requéte:
select distinct N°club from clubs where NOT EXISTS(select N°club from club c,
Personnes p where c.n°club=p.n°club);
select distinct N°club from clubs where NOT EXISTS(select N°club from club c,
Personnes p where c.n°club=p.n°club);
3éme requéte:
select distinct N°pers from personnes p,club c
where c.n°club=p.n°club
and c.n°club=(select distinct N°club from clubs
where NOT EXISTS(select N°club from club c,
Personnes p where c.n°club=p.n°club);
select distinct N°pers from personnes p,club c
where c.n°club=p.n°club
and c.n°club=(select distinct N°club from clubs
where NOT EXISTS(select N°club from club c,
Personnes p where c.n°club=p.n°club);