|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 87 ![]() |
Bonjour,
J'ai eu quelques cours de sql au lycée mais on ne m'a jamais vraiment parlé des jointures type "left join" ou "right join". Pourriez vous me dire si il y a plus optimisé que ce que j'ai fais (qui fonctionne). Voici une image de ma BBD : ![]() Et voici ma requête : Code :
Merci d'avance !! |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() |
À première vue, ce n'est pas trop mal mais :
1) Inutile de mettre les valeurs numériques entre apostrophes. 2) Les valeurs textuelles s'écrivent entre apostrophes et non entre guillemets. 3) Évitez la guerre des étoiles ! Notamment, rien que sur le morceau de schéma que vous donnez, vous aurez deux fois la colonne "libelle" provenant des tables "secteur" et "activite". 4) Mettez des alias pour les tables et utilisez ces alias pour toutes les colonnes utilisées dans la requête. Ça rend la requête plus facile à lire. 5) Comme vos jointures sont toutes des jointures internes, il est d'usage de séparer les conditions de jointure et les conditions de restriction. La restriction sur principale devrait donc être dans le WHERE. Ça donnerait donc ça : Code :
__________________
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 ! |
||
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : décembre 2007 Messages : 87 ![]() |
Ok ! Merci beaucoup pour tous ces conseils.
En fait j'ai mis une * pour vous éviter l'énumération de ch... heuu de colonne. Donc j'ai bien réglé le problème des multi-libellés avec des alias. En tout cas je prends note de tes remarques pour les guillemets. Encore merci ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com