Vous êtes sur la page 1sur 3

PROSIT_3_SQL

Soit le schéma relationnel suivant (user HR) :

PARTIE 1 :

Ecrire les instructions SQL permettant de :

1. Créer la table EMPLOYEES2 copie sur la table EMPLOYEES. (La table devrait être vide)
2. Remplir la table EMPLOYEES2 à partir de la table EMPLOYEES en insérant la liste des
employés embauchés pendant l’année 2000.
3. Afficher le nombre des employés embauchés pendant l’an 2000.
4. Ajouter une colonne nommée DEPARTMENT_NAME à la table EMPLOYEES2 et mettre à
jour le contenu de cette colonne à partir de la table DEPARTMENTS (le nom du département
doit être en MAJUSCULE).
5. Afficher la liste des employés, l’année, le semestre, le trimestre de leur date d’embauche
par ordre décroissant de l’année. (Utilisez la Table EMPLOYEES)
6. Afficher la somme des nombres de mois travaillés par tous les employés de chacun des
départements. (Arrondir la valeur obtenue à 2 chiffres après la virgule)

1/3
PROSIT_3_SQL

- Afficher la somme + la colonne Department_id


- Afficher la somme + la colonne Department_name

7. Afficher la liste des employés et respectivement le nom de leur JOB.


(Écrire la requête de 2 manières différentes : jointure/sous requête)
8. Afficher les détails relatifs aux employés qui ont le même manager que l’employé dont le
nom de famille est « Jones ».
9. Afficher les noms des employés et un statut d’évaluation tel que si l’année d’embauche
est 1998 affichez le statut « NEEDS REVIEW » sinon affichez « NOT THIS YEAR », nommez
la colonne du statut d’évaluation REVIEW.
10. Afficher la liste des départements ; leurs noms, le salaire minimum et le salaire maximum
de chacun même s’ils sont NULL. Le résultat doit s’afficher comme suit :

13. Afficher les employés qui touche un salaire supérieur à celui de tous les directeurs
commerciaux (job_id=’SA_MAN’)
14. Affiche la liste des employés qui gagnent moins que le salaire moyen de leur département.

PARTIE 2 : (vue/synonyme)

Pour des raisons de sécurité, La société Y, qui utilise le schéma HR, souhaite créer des vues et des
synonymes, pour certains utilisateurs, afin de rendre quelques données non accessibles et de
masquer le nom des objets. Pour ce faire, écrirez les requêtes SQL permettant de :

2/3
PROSIT_3_SQL

1. Créer la vue V1, en mode lecture seulement, permettant de lister les noms et prénoms des
employés. (cette vue sera accessible par le responsable Marketing qui n’a pas besoin de
voir que les noms et prénoms des employés en mode lecture)
2. Créer la vue V2, permettant de lister les employés du département 60. (cette vue sera
accessible par le responsable du département IT). Il peut également faire des mises à jour
sur ces lignes.
3. Créer un synonyme privé sur la table EMPLOYEES nommé EMP.

PARTIE 3 : (séquence/indexe)

Ecrire les requêtes SQL permettant de :


1. Créer la séquence SEQ1 permettant d’avoir la suite entière suivante :
1..3..5..7..9..11..13..15 jusqu’à 95. Cette séquence doit être cyclique et est une valeur
initiale égale à 11.
2. Créer la table Personnes et insérer les 3 lignes comme suit : (sachant que la colonne
MatriculePersonne est alimentée par les valeurs produites par la séquence SEQ1)

MatriculePersonne nomPersonne prenomPersonne Age


MP11 BenSalah sana -
MP13 sahli mohamed 28
MP15 Feki salah -

3. Afficher la valeur courante de la séquence SEQ1


4. Sachant que la colonne SALARY de la table EMPLOYEES est très utilisée lors des conditions
d’affichage des tableaux de bord, faîte le nécessaire.

3/3

Vous aimerez peut-être aussi