Bonjour à tous,
Débutant sur les jointures, je fais actuellement un exercice de jointure entre une table employe et historique_salaire. Je cherche à savoir quels sont les employés ayant reçus un salaire supérieur à 5000€.
Pour cela, j'utilise le script suivant :
Cependant, j'ai vraiment l'impression qu'il m'effectue un produit cartésien. J'ai bien plus de colonne qu'il ne devrait en avoir (54 lignes). Image : https://zupimages.net/up/19/41/t688.jpg
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select e.employeid, e.nom, e.prenom, h.salaire from employe as e, historiquesalaires as h where h.salaire > 5000
J'ai pour cela fait plusieurs requêtes simples pour m'en assurer :
Dans historique_salaire, j'affiche simplement les salaire > 5000, et l'id de l'employe avec la formule suivante
J'obtiens 6 résultats dont 3 ID d'employes (2, 3, et 9). Image : http://zupimages.net/viewer.php?id=19/41/rgtn.jpg
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select employeid, salaire from historiquesalaires where salaire > 5000
Ensuite, je vérifie le nom et prénom des employes ayant l'id 2 ou 3 ou 9
J'obtiens donc 3 résultat. Image : http://zupimages.net/viewer.php?id=19/41/sx8a.jpg
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select employeid, nom, prenom from employe where employeid in (2,3,9)
Rien n'a voir donc avec le résultat de la première requete, ou des ID complètement différents m'apparaissent.
Je ne sais vraiment pas d'ou vient cette erreur....
Merci à vous.
Partager