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
On veut consulter l’intégralité des données des sociétés.
Écrire une requête SQL permettant de réaliser cela.
Question
On veut connaître l'ensemble des employés de ces entreprises.
Écrire une requête SQL permettant de réaliser cela.