Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/11/2011, 07h51   #1
Débutant
 
Inscription : mai 2009
Messages : 386
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 386
Points : 4
Points : 4
Par défaut La traduction de l'opérateur divison en SQL ?

Bonjour,

La division n’existe pas en SQL. Pour traduire la division, l'idée est d’utiliser la fonction de comptage COUNT mais je n'ai pas trouvé son traduction en SQL.

Voici les 2 requêtes:

1) Quels sont les noms des coureurs qui ont participé à toutes les étapes ?

Voici le modèle relationnel:
Citation:
COUREUR(NuméroCoureur , NomCoureur , #CodeEquipe, #CodePays)
ETAPE(NuméroEtape, DateEtape, VilleDép, VilleArr, NbKm, #CodeType)
PARTICIPER(#NuméroCoureur, #NuméroEtape, TempsRéalisé)
mon idée:

Citation:
1ère étape : On compte le nombre d'étapes.
2ème étape : Ensuite on compte le nombre d'étapes parcourues par coureur.
3ème étape : On compare en final les deux nombres en imbriquant les deux requêtes.

SQL: ??

2) Quelles sont les noms des salles qui ont diffusé tous les films du réalisateur "Hitchcock Alfred" ?
Voici le modèle relationnel:
Citation:
SALLE (nom-salle, horaire, #code-film)
FILM (code-film, titre, #code-réalisateur, #code-producteur)
REALISATEUR (code-réalisateur, nom-réal, prénom-réal)
mon idée:

Citation:
1ère étape : On compte le nombre des films du réalisateur "Hitchcock Alfred".
2ème étape : Ensuite on compte le nombre des films diffusés par salle.
3ème étape : On compare en final les deux nombres en imbriquant les deux requêtes.

SQL: ??


Merci.
siempre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2011, 09h23   #2
Membre Expert
 
Homme
Responsable de service informatique
Inscription : janvier 2009
Messages : 1 092
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 38
Localisation : France

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Boutique - Magasin

Informations forums :
Inscription : janvier 2009
Messages : 1 092
Points : 1 898
Points : 1 898
Bonjour,
Il me semble que la division (au sens mathématique) existe en SQL (/), mais peut-être me trompe-je ?

Quoi qu'il en soit, pour tes deux problèmes tu n'as pas besoin de division, une simple comparaison suffit !
Tu devrais jeter un oeil du côté de Count(), Having()...

Tatayo.
tatayo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2011, 10h50   #3
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
Lisez l'article que j'ai écrit à ce sujet : http://sqlpro.developpez.com/cours/divrelationnelle/

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2011, 17h06   #4
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
Citation:
1) Quels sont les noms des coureurs qui ont participé à toutes les étapes ?
Récrivons cette question :
Quels sont les noms des coureurs dont le nombre d'étape auxquelles ils ont participé est égal au nombre total d'étapes ?

Donc, comme le suggère tatayo, comptage (COUNT), regroupement (GROUP BY) et restriction sur le regroupement (HAVING) sont les pistes à suivre.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 14h37   #5
Expert Confirmé Sénior

 
Avatar de fsmrel
 
Spécialiste en bases de données
Inscription : septembre 2006
Messages : 2 884
Détails du profil
Informations professionnelles :
Activité : Spécialiste en bases de données
Secteur : Conseil

Informations forums :
Inscription : septembre 2006
Messages : 2 884
Points : 5 125
Points : 5 125
En complément, au moyen seulement de l'algèbre relationnelle (c'est-à-dire hors SQL) : à partir d’ici.
__________________
_
Faites simple, mais pas plus simple ! (A. Einstein)
E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

__________________

Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !)
fsmrel est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h43.


 
 
 
 
Partenaires

Hébergement Web