Vous êtes sur la page 1sur 7

Requêtes avec SQL

SELECT <liste d’attributs>


FROM <liste de relations>
WHERE <condition 1> AND <condition 2> …. ;

Exemple :
Soit le schéma logique relationnel suivant :

EMP (Eno, Enom, Adr, Fonction, Salaire, Dno)


DEPT (Dno, Dnom, Ville, Dir)

1/ Donner les noms des employés

SELECT Enom
FROM EMP ;

2/ Donner les noms des employés avec leurs fonctions et salaires

SELECT Enom, Fonction, Salaire


FROM EMP ;

3/ Donner la liste des employés

SELECT *
FROM EMP ;

4/ Liste des fonctions occupées

SELECT DISTINCT Fonction


FROM EMP ;

5/ Fonction et salaire de Dupont

SELECT Fonction, Salaire


FROM EMP
WHERE Enom = « Dupont » ;

SELECT Fonction, Salaire


FROM EMP
WHERE Enom LIKE «% Dupont  % » ;

6/ Liste des employés habitant à Paris

SELECT * FROM EMP


WHERE Adr LIKE « % Paris % » ;
7/ Noms des ingénieurs qui gagnent plus de 3000 euros

SELECT Enom
From EMP
WHERE Salaire > 3000 AND Fonction LIKE « Ingénieur % » ;

8/ Noms des ingénieurs gagnant entre 3000 et 4000 euros

SELECT Enom
From EMP
WHERE Fonction LIKE « Ingénieur % » AND Salaire >= 3000 AND Salaire <=4000 ;

SELECT Enom
From EMP
WHERE Fonction LIKE « Ingénieur % » AND Salaire BETWEEN 3000 AND 4000 ;

9/ Noms et fonctions des employés qui sont ingénieurs ou qui gagneraient plus de 3000 euros

SELECT Enom, Fonction


From EMP
WHERE Fonction LIKE « Ingénieur % » OR Salaire > 3000 ;

10/ Noms des employés qui sont soit ingénieurs, soit des techniciens avec un salaire de plus
de 3000 euros

SELECT Enom
FROM EMP
WHERE Fonction= « Ingénieur » OR ( Fonction= « technicien » AND Salaire > 3000 ) ;

SELECT <liste d’attributs>


FROM <liste de relations>
WHERE <condition 1> AND <condition 2> …. ;

Exemple :
Soit le schéma logique relationnel suivant :

EMP (Eno, Enom, Adr, Fonction, Salaire, Dno)


DEPT (Dno, Dnom, Ville, Dir)
11/ Noms des employés des département d’Evry

SELECT Enom
FROM EMP, DEPT
WHERE Ville = « Evry »  AND EMP.Dno = DEPT.Dno ;

Ou en imbrication :

SELECT Enom
FROM EMP
WHERE Dno IN (SELECT Dno
FROM DEPT
WHERE Ville= « Evry ») ;

12/ Noms et lieu des départements où travaillent des employés gagnant plus de 10000 euros

SELECT Dnom, Ville


FROM DEPT, EMP
WHERE Salaire > 10000 AND EMP.Dno = DEPT.Dno ;

Ou en imbrication :

SELECT Dnom, Ville


From DEPT
WHERE Dno IN ( SELECT Dno
FROM EMP
WHERE Salaire > 10000) ;

13/ Nom et salaire des directeurs

SELECT Enom, Salaire


FROM EMP, DEPT
WHERE Eno = Dir ;

Ou sous forme d’mbrication de select :

SELECT Enom, Salaire


FROM EMP
WHERE Eno IN ( SELECT Dir
FROM DEPT ) ;

14/ Noms des techniciens qui travaillent dans le département Informatique d’Evry

SELECT Enom
FROM DEPT , EMP
WHERE Fonction = « technicien » AND Dnom= « Informatique » AND Ville= « Evry »
AND EMP.Dno=DEPT.Dno;

Ou imbrication :

SELECT Enom
FROM EMP
WHERE Fonction = « technicien » AND Dno IN (SELECT Dno
FROM DEPT
WHERE Dnom= « Informatique » AND Ville= « Evry » ) ;

15/ Noms des employés qui ne travaillent pas à Evry

SELECT Enom
FROM EMP, DEPT
WHERE Ville != “Evry” AND EMP.Dno=DEPT.Dno;

Ou en imbriqué :

SELECT Enom
FROM EMP
WHERE Dno IN (SELECT Dno
FROM DEPT
WHERE Ville != “Evry” );

Ou :

SELECT Enom
FROM EMP
WHERE Dno NOT IN (SELECT Dno
FROM DEPT
WHERE Ville = “Evry” );
Soit le schéma logique relationnel suivant :

EMP (Eno, Enom, Adr, Fonction, Salaire, Dno)


DEPT (Dno, Dnom, Ville, Dir)

16/ Noms des employés qui gagnent plus que tous les employés du département d’Evry.

SELECT Enom
FROM EMP
WHERE Salaire >ALL ( SELECT Salaire
FROM DEPT, EMP
WHERE VILLE = “EVRY” AND EMP.Dno = DEPT.Dno ) ;

>ANY : > à au moins


>ALL : > à tous

IN equivalent à =ANY

SELECT Enom
FROM EMP
WHERE Salaire > ( SELECT MAX ( Salaire )
FROM DEPT, EMP
WHERE VILLE = “EVRY” AND EMP.Dno = DEPT.Dno ) ;

Fonctions de Calcul :

MAX, MIN, SUM, AVG, COUNT

AVG : AVERAGE, MOYENNE

17/ Nombre d’employés qui gagnent plus que tous les employés du département d’Evry.

SELECT COUNT ( Eno )


FROM EMP
WHERE Salaire > ( SELECT MAX ( Salaire )
FROM DEPT, EMP
WHERE VILLE = “EVRY” AND EMP.Dno = DEPT.Dno ) ;

18/ Quel est le budget salarial global du département informatique d’Evry.

SELECT SUM (Salaire)


FROM DEPT , EMP
WHERE VILLE = "Evry" AND Dnom = "Informatique" AND EMP.Dno = DEPT.Dno ;

Select SUM (salaire)


FROM EMP
WHERE Dno IN ( SELECT DNO
FROM DEPT
WHERE VILLE = "EVRY" AND Dnom = "Informatique” ) ;
19/ Combien de salariés y-a-t’il dans le département Informatique d’Evry ?

SELECT COUNT(Eno)
FROM DEPT , EMP
WHERE VILLE = "Evry" AND DNOM = "Informatique " AND EMP.Dno = DEPT.Dno;

SELECT COUNT (Eno)


FROM EMP
WHERE Dno IN ( SELECT Dno
FROM DEPT
WHERE Ville = "EVRY" AND Dnom = "Informatique") ;

20/ Combien de salariés gagnant plus de 3000 euros y-a-t’il dans le département Informatique
d’Evry ?

SELECT COUNT (Eno)


FROM EMP
WHERE Salaire > 3000 AND Dno IN ( SELECT Dno
FROM DEPT
WHERE Ville = "EVRY" AND Dnom = "Informatique") ;

SELECT COUNT(Eno)
FROM DEPT , EMP WHERE VILLE = "Evry" AND DNOM = "Informatique " AND
EMP.Dno = DEPT.Dno AND Salaire > 3000;

21/ Noms et adresses des salaries qui gagnent plus que la moyenne salariale.

SELECT Enom , Adresse


FROM EMP
WHERE Salaire > (SELECT AVG (Salaire)
FROM EMP);

SELECT enom, adresse


FROM EMP
WHERE Salaire > AVG (Salaire);

22/ Quel est l’effectif du département Informatique d’Evry

SELECT COUNT(Eno)
FROM EMP
WHERE Dno IN (SELECT Dno
FROM DEPT
WHERE Dnom = "Informatique" AND Ville = "Evry");
SELECT count(eno)
FROM EMP, DEPT
WHERE dnom=”informatique” and ville=”evry” and emp.dno=dept.dno ;

23/ Quel est l’effectf de chaque département d’Evry ?

SELECT Dno, Dnom, COUNT (Eno)


FROM EMP , DEPT
WHERE Ville = “Evry” AND EMP.Dno=DEPT.Dno
GROUP BY Dno ;

SELECT COUNT(Eno)
FROM EMP
WHERE Dno IN (SELECT Dno
FROM DEPT
WHERE Ville="Evry" )
GROUP By Dno ;

24/ Quels sont les départements qui ont un effectif supérieur à 100 employés ?

SELECT *
FROM DEPT
WHERE 100 < ANY ( SELECT count(Eno)
FROM Emp , DEPT
WHERE EMP.Dno=DEPT.Dno
GROUP BY DNO ) ;

SELECT DEPT.*
FROM EMP , DEPT
WHERE EMP.Dno=DEPT.Dno
GROUP BY Dno
HAVING COUNT(Eno) > 100 ;

25/ Quelles sont les départements qui ont un effectif supérieur à la moyenne nationale ?

Vous aimerez peut-être aussi