Appliquer la notion

Soit le schéma relationnel :

1
Employe (#Num, Nom, Prenom, Age, Salaire, Fonction=>Fonction, Societe=>Societe)
2
Fonction (#Intitule, SalaireMin, SalaireMax, NbHeures)
3
Societe (#Nom, Pays, Activite)

On crée les tables associées et leurs enregistrements.

1
CREATE TABLE societe(
2
nom VARCHAR(50),
3
pays VARCHAR(50),
4
activite VARCHAR(50),
5
PRIMARY KEY (nom)
6
);
7
8
9
CREATE TABLE employe(
10
num INTEGER,
11
nom VARCHAR(50),
12
prenom VARCHAR(50),
13
age INTEGER,
14
salaire REAL,
15
societe VARCHAR(50),
16
PRIMARY KEY (num),
17
FOREIGN KEY (societe) REFERENCES societe(nom)
18
);
19
20
                                           
21
INSERT INTO societe (nom, pays, activite)
22
VALUES ('Pied Piper', 'USA', 'Éditeur Logiciel');
23
24
INSERT INTO societe (nom, pays, activite)
25
VALUES ('LeapMusic', 'France', 'Éditeur Logiciel');
26
27
INSERT INTO societe (nom, activite)
28
VALUES ('Aperture Science', 'Fabrication de rideaux de douche');
29
30
INSERT INTO societe(nom, pays)
31
VALUES ('Black Mesa', 'USA');
32
33
INSERT INTO employe (num, nom, prenom, age, salaire, societe)
34
VALUES(1, 'Hendricks', 'Richard', 28, 420000, 'Pied Piper');
35
INSERT INTO employe (num, nom, prenom, age, salaire, societe)
36
VALUES(2, 'Gilfoyle', 'Bertram', 29, 399666, 'Pied Piper');
37
INSERT INTO employe (num, nom, prenom, age, salaire, societe) 
38
VALUES(3, 'Dunn', 'Donald "Jared"', 25, 120000, 'Pied Piper');
39
INSERT INTO employe (num, nom, prenom, age, salaire, societe)
40
VALUES(4, 'Hall', 'Monica', 27, 420000, 'Pied Piper');
41
42
INSERT INTO employe (num, nom, prenom, age, salaire, societe)
43
VALUES(5, 'Lake', 'Marty', 28, 420000, 'LeapMusic');
44
INSERT INTO employe (num, nom, prenom, age, salaire, societe)
45
VALUES(6, 'Gamesh', 'Jul', 18, 420000, 'LeapMusic');
46
INSERT INTO employe (num, nom, prenom, age, salaire, societe)
47
VALUES(7, 'Famous', 'PokeMe', 32, 820000, 'LeapMusic');
48
INSERT INTO employe  (num, nom, prenom, age, salaire, societe)
49
VALUES(8, 'Jones', 'Eddy', 44, 420000, 'LeapMusic');
50
51
INSERT INTO employe (num, nom, prenom, age, salaire, societe)
52
VALUES(9, Null, 'Caroline', 28, 23000, 'Aperture Science');
53
INSERT INTO employe (num, nom, prenom, age, salaire, societe)
54
VALUES(10, 'Johnson', 'Cave', 56, 4444444, 'Aperture Science');
55
INSERT INTO employe (num, nom, prenom, age, salaire, societe) 
56
VALUES(11, 'Rattmann', 'Doug', 45, 1337, 'Aperture Science');
57
58
INSERT INTO employe (num, nom, prenom, age, salaire, societe) 
59
VALUES(12, Null, 'G-Man', 42, 72000, 'Black Mesa');
60
INSERT INTO employe (num, nom, prenom, age, salaire, societe) 
61
VALUES(13, 'Freeman', 'Gordon', 34, 420000, 'Black Mesa');
62

Question

Écrire une requête SQL permettant de sélectionner les employés de Pied Piper.

Solution

1
SELECT *
2
FROM employe
3
WHERE societe='Pied Piper';

On obtient les résultats :

num

nom

prenom

age

salaire

societe

1

Hendricks

Richard

28

420000

Pied Piper

2

Gilfoyle

Bertram

29

399666

Pied Piper

3

Dunn

Donald "Jared"

25

120000

Pied Piper

4

Hall

Monica

27

420000

Pied Piper

Question

Écrire une requête SQL permettant de sélectionner les sociétés exerçant en France.

Solution

1
SELECT *
2
FROM societe
3
WHERE pays='France';

On obtient les résultats :

nom

pays

activite

LeapMusic

France

Éditeur Logiciel