La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Exercice #1 Retrouvez le numéro, le nom et le lieu de chaque projet ainsi que le numéro du département qui les contrôle. NUMÉRO, NOM, LIEU, DNUM ( PROJET.

Présentations similaires


Présentation au sujet: "Exercice #1 Retrouvez le numéro, le nom et le lieu de chaque projet ainsi que le numéro du département qui les contrôle. NUMÉRO, NOM, LIEU, DNUM ( PROJET."— Transcription de la présentation:

1 Exercice #1 Retrouvez le numéro, le nom et le lieu de chaque projet ainsi que le numéro du département qui les contrôle. NUMÉRO, NOM, LIEU, DNUM ( PROJET ) SELECT* FROMPROJET

2 Exercice #2 Retrouvez le nom des départements qui sont contrôlés par « Pierre St-Jean ». DÉPARTEMENT.NOM, ( DEPARTEMENT |X| NAS_DIR = NAS EMPLOYE.NOM = ST-JEAN EMPLOYE.PRÉNOM = PIERRE EMPLOYE )

3 Exercice #2 Retrouvez le nom des départements qui sont contrôlés par « Pierre St-Jean ». SELECT NOM FROMDEPARTEMENT WHERENAS_DIR IS (SELECTNAS FROMEMPLOYÉ WHERENOM LIKE ST-JEAN AND PRÉNOM LIKE PIERRE )

4 Exercice #3 Retrouvez les nom et prénom de tous les employés ayant un prénom composé. (Le trait dunion sépare les prénoms composés ) NOM, PRÉNOM ( PRÉNOM LIKE %-% (EMPLOYE) ) SELECTNOM, PRÉNOM FROMEMPLOYÉ WHEREPRÉNOM LIKE %-%

5 Exercice #4 Retrouvez les nom et prénom des employés ayant un deuxième prénom. (Ex. : John B Smith ) NOM, PRÉNOM ( NOM_MI (EMPLOYE) ) SELECTNOM, PRÉNOM FROMEMPLOYÉ WHERENOM_MI IS NOT NULL

6 Exercice #5 Déterminez ce que serait le salaire de chaque employé du département « CONCEPTION » si celui-ci était doublé. Retrouvez les nom, prénom et le nouveau salaire. EMPLOYE.NOM, PRÉNOM, SALAIRE*2 (EMPLOYE |X| DNO = NUMÉRO DEPARTEMENT.NOM = CONCEPTION DEPARTEMENT) SELECTE.NOM, PRÉNOM, SALAIRE*2 FROMEMPLOYÉ E, DEPARTEMENT D WHEREDNO = NUMÉROAND D.NOM = CONCEPTION

7 Exercice #6 Retrouvez le nom de tous les dépendants qui sont nés le même jour que lemployé de qui ils dépendent. DÉPENDANT.NOM ( EMPLOYE |X| NAS = ENAS DÉPENDANT.DATE_N = EMPLOYE.DATE_N DÉPENDANT ) SELECTD.NOM FROMEMPLOYÉ E, DÉPENDANT D WHERENAS = ENAS AND E.DATE_N = D.DATE_N

8 Exercice #7 Retrouvez les nom et prénom de toutes les femmes qui travaillent sur le projet numéro 7. ( F = Féminin ) EMPLOYE.NOM, PRÉNOM ( EMPLOYE |X| NAS = ENAS SEXE = F PNUM = 7 TRAVAILLE_SUR ) SELECTNOM, PRÉNOM FROMEMPLOYÉ, TRAVAILLE_SUR WHERENAS = ENAS AND SEXE = F AND PNUM = 7

9 Exercice #8 Pour tous les départements ayant plus de 5 femmes, retrouvez le nom de ces départements ainsi que le nombre de femmes qui y travaillent. NB_F_DEPT DNAME COUNT NAS ( EMPLOYE |X| DNO = NUMÉRO SEXE = F DEPARTEMENT ) COUNT_NAS > 5 (NB_F_DEPT) SELECTD.NOM, COUNT(*) FROMEMPLOYÉ, DEPARTEMENT D WHEREDNO = NUMÉRO AND SEXE = F GROUP BYD.NOM HAVING COUNT(*) > 5

10 Exercice #9 Pour chaque employé travaillant sur plus de deux projets, retrouvez le NAS, le nom, le prénom et le nombre total dheures travaillées de ceux qui ont travaillé moins de 50 heures. EMP_PROJS ENAS COUNT ENAS, SUM HEURES (TRAVAILLE_SUR) NAS, NOM, PRÉNOM, SUM_HEURES ( EMPLOYE |X| COUNT_ENAS > 2 SUM_HEURES < 50 ENAS = NAS EMP_PROJS )

11 Exercice #9 Pour chaque employé travaillant sur plus de deux projets, retrouvez le NAS, le nom, le prénom et le nombre total dheures travaillées de ceux qui ont travaillé moins de 50 heures. SELECTNAS, NOM, PRÉNOM, SUM( HEURES ) FROMEMPLOYÉ, TRAVAILLE_SUR WHERENAS = ENAS GROUP BYNAS, NOM, PRÉNOM HAVINGSUM( HEURES ) 2

12 Exercice #10 Retrouvez le numéro des départements qui ont plus de 5 employés. NB_EMP_DEPT(DNO, NB_EMP) DNO COUNT NAS ( DEPARTEMENT |X| DNO = NUMÉRO EMPLOYE ) DNO ( NB_EMP > 5 NB_EMP_DEPT )

13 Exercice #10 Retrouvez le numéro des départements qui ont plus de 5 employés. a) Sans utiliser linstruction HAVING SELECTNUMÉRO FROMDEPARTEMENT WHERE( SELECT COUNT(*) FROM EMPLOYÉ WHEREDNO = NUMÉRO ) > 5 b) En utilisant linstruction HAVING SELECTNUMÉRO FROMDEPARTEMENT, EMPLOYÉ WHERENUMÉRO = DNO GROUP BYNUMÉRO HAVINGCOUNT(*) > 5

14 Exercice #11 Listez les noms des employés qui ont au moins un dépendant du même sexe qu'eux. EMPLOYE.NOM ( EMPLOYE |X| NAS = ENAS DÉPENDANT.SEXE = EMPLOYE.SEXE DÉPENDANT ) SELECTNOM, PRÉNOM FROMEMPLOYÉ E WHEREEXIST (SELECT * FROM DEPENDANT WHERENAS = ENAS AND SEXE = E.SEXE )

15 Exercice #12 Trouvez les noms des employés qui ne sont pas directement supervisés par "Albert Einstein". NAS_AE NAS ( NOM = EINSTEIN PRÉNOM =ALBERT EMPLOYE) EMP_NAS_AE NOM, NAS_AE (NAS_AE X EMPLOYE ) EMP_NAS_SUP NOM, NAS_SUP ( EMPLOYE ) NOM ( EMP_NAS_SUP - EMP_NAS_AE )

16 Exercice #12 Trouvez les noms des employés qui ne sont pas directement supervisés par "Albert Einstein". SELECTNOM,PRÉNOM FROMEMPLOYÉ WHERENAS_SUP IS NOT ( SELECT NAS FROMEMPLOYE WHERENOM LIKE EINSTEIN AND PRÉNOM LIKE ALBERT )

17 Exercice #13 Retrouvez les noms des employés qui travaillent sur aucun projet. TRAV_ENAS ENAS, NOM ( TRAVAILLE_SUR |X| NAS=ENAS EMPLOYE ) EMP_NAS_NOM NAS, NOM ( EMPLOYE ) NOM ( EMP_NAS_NOM – TRAV_NAS )

18 Exercice #13 Retrouvez les noms des employés qui travaillent sur aucun projet. SELECTNOM,PRÉNOM FROMEMPLOYÉ WHERENOT EXIST ( SELECT * FROM TRAVAILLE_SUR WHERENAS = ENAS )

19 Exercice #14 Pour chaque employé, retrouvez les nom et prénom des employés ainsi que leur nombre de dépendants. NB_F_DEPT NOM, PRÉNOM COUNT NAS ( EMPLOYE |X| ENAS = NAS DÉPENDANT ) SELECTE.NOM, PRÉNOM, COUNT(*) FROMEMPLOYÉ E, DÉPENDANT WHERENAS = ENAS GROUP BY E.NOM, PRÉNOM

20 Exercice #15 Recherchez les noms des employés du département Recherche qui ont travaillé moins de 10 heures sur le projet numéro 5. EMP_D_RECH NAS, EMPLOYE.NOM ( EMPLOYE |X| NUMÉRO = NAS DEPARTEMENT.NOM = RECHERCHE DEPARTEMENT ) NOM ( EMP_D_RECH |X| NAS = ENAS HEURES < 10 PNUM = 5 TRAVAILLE_SUR )

21 Exercice #15 Recherchez les noms des employés du département Recherche qui ont travaillé moins de 10 heures sur le projet numéro 5. SELECTE.NOM, PRÉNOM FROMEMPLOYÉ E, DEPARTEMENT D, TRAVAILLE_SUR WHEREDNO= NUMÉRO AND NAS = ENASAND D.NOM = RechercheAND PNUM = 5AND HEURES < 10

22 Exercice #16 Listez les noms des employés qui travaillent sur au moins un projet ayant pour lieu Houston. P_HOUSTON ENAS, PNUM ( PROJET |X| NUMÉRO = PNUM NOM = Houston TRAVAILLE_SUR ) NOM, PRÉNOM ( P_HOUSTON |X| NAS = ENAS EMPLOYE )

23 Exercice #16 Listez les noms des employés qui travaillent sur au moins un projet ayant pour lieu Houston. SELECTE.NOM, PRÉNOM FROMEMPLOYÉ E WHEREEXIST ( SELECT* FROMPROJET P, TRAVAILLE_SUR WHEREENAS = NASAND PNUM = NUMÉROAND LIEU LIKE Houston )

24 Exercice #17 Listez le nom de chaque projet avec le nom du département qui le contrôle ainsi que le nombre demployés qui travaille dessus. P_NB_EMPL( NUMÉRO, NOM, DNUM, NB_EMPL) NUMÉRO, NOM, DNUM COUNT ENAS ( PROJET |X| NUMÉRO = PNUM TRAVAILLE_SUR ) P_NB_EMPL.NOM, DEPARTEMENT.NOM, NB_EMPL ( P_NB_EMPL |X| DNUM = DEPARTEMENT.NUMÉRO DEPARTEMENT )

25 Exercice #17 Listez le nom de chaque projet avec le nom du département qui le contrôle ainsi que le nombre demployés qui travaille dessus. SELECTP.NOM, D.NOM, COUNT(*) FROMPROJET P, DEPARTEMENT D, TRAVAILLE_SUR WHEREDNUM = D.NUMÉROAND PNUM = P.NUMÉRO GROUP BYP.NOM, D.NOM

26 Exercice #18 Retrouvez le nom et le lieu de chaque département ainsi que le nombre de projet quil contrôle. DEPT_NB_PROJ(DNUM, DNOM, NB_PROJ) DEPARTEMENT.NUMÉRO, DEPARTEMENT. NOM COUNT PROJET.NUMÉRO ( DEPARTEMENT |X| DEPARTEMENT.NUMÉRO = DNUM PROJET) DNOM, DLIEU, NB_PROJ ( DEPT_NB_PROJ |X| DNUM=DNUMÉRO LIEU_DEPT )

27 Exercice #18 Retrouvez le nom et le lieu de chaque département ainsi que le nombre de projet quil contrôle. SELECTD.NOM, DLIEU, COUNT(*) FROMPROJET P, DEPARTEMENT D, LIEU_DEPT WHEREDNUM = D.NUMÉROAND DNUMÉRO = D.NUMÉRO GROUP BYD.NOM, DLIEU

28 Exercice #19 Retrouvez le nom et le lieu de chaque département ainsi que le nombre demployés quil contienne. DEPT_NB_EMPL(DNUM, DNOM, NB_EMPL) NUMÉRO, DEPARTEMENT. NOM COUNT NAS ( DEPARTEMENT |X| NUMÉRO = DNO EMPLOYE ) DNOM, DLIEU, NB_EMPL ( DEPT_NB_EMPL |X| DNUM=DNUMÉRO LIEU_DEPT )

29 Exercice #19 Retrouvez le nom et le lieu de chaque département ainsi que le nombre demployés quil contienne. SELECTD.NOM, DLIEU, COUNT(*) FROMEMPLOYE, DEPARTEMENT D, LIEU_DEPT WHEREDNO = NUMÉRO AND DNUMÉRO = NUMÉRO GROUP BYD.NOM, DLIEU

30 Exercice #20 Pour chaque département ayant plus de 10 employés, retrouvez leur nom et leur lieu ainsi que le nombre de projet quil contrôle. DEPT_NB_EMPL(DNUMÉRO, DNOM, NB_EMPL) NUMÉRO, DEPARTEMENT. NOM COUNT NAS ( DEPARTEMENT |X| NUMÉRO = DNO EMPLOYE ) DEPT_NB_PROJ(DNUM, DNOM, NB_PROJ) DNUMÉRO, DNOM COUNT PROJET.NUMÉRO ( DEPT_NB_EMPL |X| DNUMÉRO = DNUM NB_EMPL > 10 PROJET) (suite )

31 Exercice #20 DNOM, DLIEU, NB_PROJ ( DEPT_NB_PROJ |X| DNUM=DNUMÉRO LIEU_DEPT )

32 Exercice #20 Pour chaque département ayant plus de 10 employés, retrouvez leur nom et leur lieu ainsi que le nombre de projet quil contrôle. SELECTD.NOM, DLIEU, COUNT(*) FROMPROJET P, DEPARTEMENT D, LIEU_DEPT WHEREDNUM = D.NUMÉROAND DNUMÉRO = D.NUMÉRO AND ( SELECTCOUNT(*) FROMEMPLOYE WHEREDNO = D.NUMÉRO) > 10 GROUP BYD.NOM, DLIEU


Télécharger ppt "Exercice #1 Retrouvez le numéro, le nom et le lieu de chaque projet ainsi que le numéro du département qui les contrôle. NUMÉRO, NOM, LIEU, DNUM ( PROJET."

Présentations similaires


Annonces Google