Vous êtes sur la page 1sur 3

Soit la base de données suivante :

• Départements :( DNO, DNOM, DIR, VILLE)


• Employés : ( ENO, ENOM, PROF, DATEEMB, SAL, COMM, #DNO)
Exprimez en SQL les requêtes suivantes :
1. Donnez la liste des employés ayant une commission
2. Donnez les noms, emplois et salaires des employés par emploi croissant, et
pour chaque emploi, par salaire décroissant
3. Donnez le salaire moyen des employés
4. Donnez le salaire moyen du département Production
5. Donnes les numéros de département et leur salaire maximum
6. Donnez les différentes professions et leur salaire moyen

REQUETES SQL correspondantes :

CREATION DE LA TABLE :

-- Création de la table Départements

CREATE TABLE Départements (

DNO INT PRIMARY KEY,

DNOM VARCHAR(50),

DIR VARCHAR(50),

VILLE VARCHAR(50)

);

-- Insertion de données dans la table Départements

INSERT INTO Départements (DNO, DNOM, DIR, VILLE) VALUES

(1, 'Production', 'John Doe', 'Paris'),

(2, 'Ventes', 'Jane Smith', 'Lyon'),

(3, 'RH', 'Alice Johnson', 'Marseille');

-- Création de la table Employés

CREATE TABLE Employés (

ENO INT PRIMARY KEY,

ENOM VARCHAR(50),

By KE
PROF VARCHAR(50),

DATEEMB DATE,

SAL DECIMAL(10, 2),

COMM DECIMAL(10, 2),

DNO INT,

FOREIGN KEY (DNO) REFERENCES Départements(DNO)

);

-- Insertion de données dans la table Employés

INSERT INTO Employés (ENO, ENOM, PROF, DATEEMB, SAL, COMM, DNO) VALUES

(1, 'Jean Dupont', 'Ingénieur', '2022-01-01', 5000.00, NULL, 1),

(2, 'Marie Martin', 'Technicien', '2022-02-15', 4000.00, 200.00, 1),

(3, 'Pierre Durand', 'Vendeur', '2022-03-20', 3000.00, 100.00, 2),

(4, 'Sophie Leclerc', 'RH', '2022-04-10', 4500.00, NULL, 3),

(5, 'Lucie Dubois', 'Ingénieur', '2022-05-05', 5500.00, NULL, 1);

1. Pour la liste des employés ayant une commission :

SELECT * FROM Employés WHERE COMM IS NOT NULL;

2. Pour les noms, emplois et salaires des employés triés par emploi croissant et par salaire
décroissant :

SELECT ENOM, PROF, SAL

FROM Employés

ORDER BY PROF ASC, SAL DESC;

3. Pour le salaire moyen des employés :

SELECT AVG(SAL) AS SalaireMoyen FROM Employés;

By KE
4. Pour le salaire moyen du département Production :

SELECT AVG(SAL) AS SalaireMoyenProduction

FROM Employés

WHERE #DNO IN (SELECT DNO FROM Départements WHERE DIR = 'Production');

5. Pour les numéros de département et leur salaire maximum :

SELECT DNO, MAX(SAL) AS SalaireMaximum

FROM Employés

GROUP BY DNO;

6. Pour les différentes professions et leur salaire moyen :

SELECT PROF, AVG(SAL) AS SalaireMoyen

FROM Employés

GROUP BY PROF;

By KE

Vous aimerez peut-être aussi