Exemple :
Soit le schéma logique relationnel suivant :
SELECT Enom
FROM EMP ;
SELECT *
FROM EMP ;
SELECT Enom
From EMP
WHERE Salaire > 3000 AND Fonction LIKE « Ingénieur % » ;
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
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 ) ;
Exemple :
Soit le schéma logique relationnel suivant :
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
Ou en imbrication :
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 » ) ;
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 :
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 ) ;
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 :
17/ Nombre d’employés qui gagnent plus que tous les employés du département d’Evry.
SELECT COUNT(Eno)
FROM DEPT , EMP
WHERE VILLE = "Evry" AND DNOM = "Informatique " AND EMP.Dno = DEPT.Dno;
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 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 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 ;
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 ?