Bonjour,
Je voudrais savoir comment faire une requête pour afficher le salaire le plus élevé des employés avec le nom et prénom de l'employé.
Merci.
Bonjour,
Je voudrais savoir comment faire une requête pour afficher le salaire le plus élevé des employés avec le nom et prénom de l'employé.
Merci.
Quel est la structure de tes tables ?
Quel est ton SGBD ?
Montre-nous ta requête. Nous pourrons alors t'aider à la faire évoluer...
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous,
N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton
et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
SGBD = Oracle 10g.
Utilisateur pour les tests est SCOTT et la table est emp.
Je veux afficher le salaire le plus élevé.
Pour la structure:
Il y a: EMPNO, ENAME, MGR, SAL.
Requête:
Mais ça marche pas ma requête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Select empno,ename, max(sal) from emp group by empno
Ce serait bien de nous dire ce qui ne marche pas !Mais ça marche pas ma requête.
- Pas le résultat attendu ?
- Message d'erreur ? Lequel ?
Tu cherches l'employé qui a le salaire le plus élevé (1) ou le salaire le plus élevé de chaque salarié (2) ?Je veux afficher le salaire le plus élevé.
1 :
2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT empno, ename FROM emp WHERE sal = ( SELECT MAX(sal) FROM emp )
Il faut que toutes les colonnes du SELECT non impactées par une fonction d'agrégation (SUM, MAX, AVG, COUNT...) figurent dans le GROUP BY.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT empno, ename, MAX(sal) AS SalaireMax FROM emp GROUP BY empno, ename
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« 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 la suite Linux Mageïa !
Merci mon ami. ca marche ton code (la première requete).
J'ai une autre question. Pour la même table emp, je veux afficher le nombre des employés qui ont un salaire inférieur à 25% du salaire de l'employé 'XXXX'.
Merci d'avance.
Tu as essayé quelque chose avant de poser la question ?
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« 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 la suite Linux Mageïa !
J'ai essayé ceci (notez que je suis un débutant en SQL Oracle).
Donc, je veux afficher la liste des employés qui ont un salaire inférieur à 25% du salaire de SCOTT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT EMPNO,ENAME,JOB FROM EMP WHERE ENAME='SCOTT' AND SAL=SAL*0.25
Avec ça tu affiches les données de l'employé SCOTT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part WHERE ENAME='SCOTT'
Ca ça n'arrive jamais puisque pour chaque ligne de la table, SAL ne peut pas être égal à SAL * 0,25 !
Code : Sélectionner tout - Visualiser dans une fenêtre à part AND SAL=SAL*0.25
je veux afficher la liste des employés qui ont un salaire inférieur à 25% du salaire de SCOTT.Et 25% du salaire de SCOTT on le trouve comment ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT EMPNO,ENAME,JOB FROM EMP WHERE SAL < 25% du salaire de SCOTT
Tu essaies de réunir les deux ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT SAL * 0.25 FROM EMP WHERE ENAME = 'SCOTT'
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« 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 la suite Linux Mageïa !
Bonsoir,
Ma question est comment comparer tous les salaires des employés avec le salaire de scott.
J'ai essayé ceci, mais ce n'est pas ça que je veux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 set linesize 132 set pagesize 50 select empno,ename,sal*0.25 from emp where ename='SCOTT';
J'ai trouvé une solution; La voici (j'ai utilisé des alias):
Voici ce qu'il me donne comme résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT DISTINCT A.EMPNO,A.ENAME,A.JOB,A.SAL FROM EMP A,EMP B WHERE A.SAL<B.SAL*0.25 AND A.ENAME NOT IN 'SCOTT'
EMPNO ENAME JOB SAL
------- ---------- --------- ----------
7369 SMITH CLERK 800
7934 MILLER CLERK 1300
7900 JAMES CLERK 950
7654 MARTIN SALESMAN 1250
7876 ADAMS CLERK 1100
7521 WARD SALESMAN 1250
Étant donné que le salaire de SCOTT est 6000$ (je l'ai changé avec ceci
Merci !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UPDATE EMP SET SAL=6000 WHERE ENAME='SCOTT' COMMIT
Partager