Accueil > Forum > > > > SubQuery et ou condition de jointure
SubQuery et ou condition de jointure
dimanche 16 août 2009 à 13:10:47 |
SubQuery et ou condition de jointure

Nicolas___
|
Bonjour,
je suis étudiant en info et je dois repasser mon cours de SQL , j'ai donc une petite question à vous demandez
(J'y ai déjà répondu, j'aimerais juste être corrigé en cas de faute ;) )
Schéma :
lien : http://www.casimages.com/img.php?i=090816010529675578.png
La question :
Listez les sections dans lesquelles donnent cours des professeurs diplomés en 2000 . NB : chaque section ne doit apparaître qu'une fois.
Code :
En jointure :
Select distinct section
From AnneeEtude , Cours Professeur
Where AnneeEtude.Code = Cours.Annee
and Cours.Prof = Professeur.Matricule
and AnneeDiplome = 2000;
En SubQuery :
Select distinct section
From AnneeEtude
Where Code in Select Annee
From Cours
Where prof in Select matricule
From Professeur
where AnneeDiplome = 2000;
Voila, j'aimerais juste savoir si ces réponses sont bonnes et équivalentes.
Merci
|
|
dimanche 16 août 2009 à 13:11:58 |
Re : SubQuery et ou condition de jointure

Nicolas___
|
désolé le schéma ne s'affiche pas , mais le lien est OK pour le moment ;)
|
|
dimanche 16 août 2009 à 17:27:46 |
Re : SubQuery et ou condition de jointure

nivsql
|
La premiere semble Bonne dans l'esprit mais la synthaxe est pas terrible (manque une virgule dans la clause from, coquille rien de grave) car pas normative. Les critere de jointure devrait etre exprime dans des clause JOIN et non dans le where ;)
La seconde me semble fausse et surtout au niveau execution sur un SGBD les performance vont etre désastreuses ;)
|
|
lundi 17 août 2009 à 19:34:00 |
Re : SubQuery et ou condition de jointure

Nicolas___
|
merci de m'avoir répondu , serais tu me dire ce qu'il ne veut pas avec la solution 2 stp?
elle me semblait bonne pourtant ...
les subquery sont plus lentes ?
Nico
|
|
lundi 17 août 2009 à 19:45:16 |
Re : SubQuery et ou condition de jointure

nivsql
|
Autant pour moi, la 2eme solution te rendra le bon resultat aussi, c'est ton modele de donnée qui prete a confusion (attention au nomage des colonnes !)
De maniere général il serait faux de dire que les subquery sont plus lentes. Mais dans ton cas particulier c'est 100 Fois oui.
Ne perd jamais de vue que le SQL et les SGBDR s'appuie sur un modele ensembliste et sur l'algebre qui vas avec (l'algebre relationnel). Essaye de transcire tes 2 requete en algebre relationnel et tu constatera que la premiere est de loins la plus simple et celle qui necessite le moins d'operation et surtout celle qui au final manipulera le moins de donnée (ce qui se reperctuera en mémoire sur ton SGBD par une consomation de ram inferieure).
|
|
Cette discussion est classée dans : code, select, cours, img, from
Répondre à ce message
Sujets en rapport avec ce message
Select * from * [ par ziffox ]
Bonjour à tous, Je cherche a faire une requête qui parcourt toute la base, et qui m'affiche le nom de la table et du champ qui contient une valeur.
Requête utilisant un CONCAT dans le from [ par infkb ]
Bonjour, je veux faire une requête sur la table test_21 tel que 21 et un id qu'on récupère d'une autre requête SQL puis je le concatène avec la chaîn
Besoin d'aide pour un exercice [ par stabii ]
Bonjour tout le monde. J'aurais besoin de votre aide SVP. J'ai un exercice a faire, et je voudrais que vous dites si j'ai bien commencé? Merci d'avanc
Select Sum(Distinct) avec Access 2003 [ par js8bleu ]
Bonjour, je suis sous access 2003 et j'ai une table recu(numrecu,daterecu,montanttotal,numvente,...) et une table vente (numvente,datevente,numclient
Génération de graphiques [ par pillsmen ]
Bonjour à tous,Mon problème concerne la génération d'un graphique dans un état sous ACCESS.On va commencer par le commencement ^^, je pense qu'un exem
Problème avec DateDiff [ par Chatbour ]
Salut à tous,j'ai la requête suivante :SELECT DateDiff("j", #02-06-2007#, #06-04-2004#)FROM matable;l'erreur : "Appel de procédure incorrect"j'ai test
Utilisation de clause where stockée en DB [ par Badside ]
Bonjour, J'aimerais récupérer la somme de plusieurs montants stockés dans une table et sélectionnés sur des critères repris dans une clause where sto
jointure sql [ par amounaups ]
bonjour, j'ai un probleme au niveau du code j'arrive pa a assimiler les choses [^^pirate] je ss entrain de réaliser une application gestion commercial
problème sous requête [ par neoscars ]
Bonjour Amis Developpeur, j'ai un petit problème sur une requête SELECT * FROM ( SELECT * FROM [TABLE1] WHERE [CHAMP1] NOT IN (SELECT [CHAMP1] FR
Optimisation d'une sous-requête SQL [ par Lugdunum2 ]
Bonjour, Dans le cadre de l'optimisation des requêtes SQL d'un site web, je me retrouve avec une grande question dont je n'ai pas trouvé de réponse d
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : ORACLE FORMSRE : ORACLE FORMS par csmahicham
Cliquez pour lire la suite par csmahicham
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|