preloader

Correction TP 1 Base de données - tachicart

1.         Afficher les employés  dans la ville de ‘casa’ et ‘oujda’

SELECT * FROM employés WHERE ville IN (“casa” , “oujda”)

2.         Afficher les noms et id des employés recrutés entre 2003 et 2012

SELECT id, nom FROM employés WHERE année_aff BETWEEN 2003 AND 2012;

3.         Afficher les missions effectuées en les groupant par ville de départ

SELECT missions.id_mission , missions.depart  , missions.destination, missions.date_depart , missions.id_employe

FROM employés INNER JOIN missions ON employés.id = missions.id_employe

GROUP BY missions.depart , missions.id_mission ,  missions.destination,  missions.date_depart,  missions.id_employe

;

4.         Afficher les missions effectuées en les groupant par ville et les classant par date (du plus récent au plus ancien)

SELECT missions.id_mission , missions.depart  , missions.destination, missions.date_depart , missions.id_employe

FROM employés INNER JOIN missions ON employés.id = missions.id_employe

GROUP BY missions.depart , missions.id_mission ,  missions.destination,  missions.date_depart,  missions.id_employe

ORDER BY missions.date_depart DESC;

5.         Afficher toute les villes des employés

SELECT ville FROM employés ;

6.         Afficher toute les villes des employés sans répétition

SELECT  DISTINCT  ville

FROM employés ;

Ou

SELECT  ville

FROM employés GROUP BY ville;

7.         Afficher toute les villes dans lesquelles au moins 18 employés y travaillent. Il faut les grouper avant d’appliquer la condition.

SELECT  ville , count(id)

FROM employés  Group by ville HAVING count (id)>=18 ;

8.         Modifier la ville de l’employé ayant l’id 361 par la ville de ‘meknes’

UPDATE employés SET ville =”mekenes” WHERE id=361 ;

9.         Supprimer les employés de la ville de ’meknes’

DELETE * FROM employés WHERE ville =”mekenes”

10.     Afficher et Classer les noms des employés par ordre alphabétique

SELECT nom FROM employés ORDER by nom ASC;

11.     Quelle est la moyenne des salaires ?

SELECT AVG(salaire) AS Moyenne FROM employés ;

12.     Quelle est le salaire maximal ?

SELECT MAX(salaire) AS Max FROM employés ;

13.     Quelle est le salaire minimal  ?

SELECT MIN(salaire) AS Min FROM employés ;

14.     Quelle est la masse salariale (somme des salaire) dans la ville de ‘rabat’ ?

SELECT SUM(salaire) AS Masse FROM employés  WHERE ville=“rabat”;

15.     Quelle est le nombre des techniciens ?

SELECT count(*) AS Nombre_tech FROM employés  WHERE grade=”technicien”;

16.     Quelle est le nombre des techniciens à casa ?

SELECT count(*) AS Nombre_tech FROM employés  WHERE grade=”technicien” and ville=“rabat”;

17.     Quelle sont les employés (actuels) qui ont effectué des missions ?

SELECT employés.nom ;

FROM employés INNER JOIN missions ON employés.id = missions.id_employe ;

18.     Afficher tous les employés avec ou sans missions

SELECT employés.nom FROM employés ;

19.     Afficher les employés qui n’ont pas effectué des missions

           SELECT * FROM employés LEFT JOIN missions ON employés.id = missions.id_employe WHERE missions.id_employe IS NULL;