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...
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
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 ?
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'
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager