Académique Documents
Professionnel Documents
Culture Documents
Compte Rendu :
-- Création des tables
CREATE TABLE Avion (
NA INT PRIMARY KEY,
Nom VARCHAR(12),
Capacité INT,
Localité VARCHAR(10)
);
CREATE TABLE Pilote (
NP INT PRIMARY KEY,
Nom VARCHAR(25),
Adresse VARCHAR(40)
);
CREATE TABLE Vol (
NV INT PRIMARY KEY,
NP INT,
NA INT,
VD VARCHAR(10),
VA VARCHAR(10),
HD INT,
HA INT,
FOREIGN KEY (NP) REFERENCES Pilote(NP),
FOREIGN KEY (NA) REFERENCES Avion(NA)
);
INSERT INTO Vol VALUES (1, 1, 100, 'RABAT', 'CASA', 1200, 1400);
INSERT INTO Vol VALUES (2, 2, 101, 'CASA', 'RABAT', 1500, 1700);
INSERT INTO Vol VALUES (3, 3, 102, 'RABAT', 'CASA', 1100, 1300);
INSERT INTO Vol VALUES (4, 1, 101, 'CASA', 'RABAT', 1800, 2000);
INSERT INTO Vol VALUES (5, 2, 100, 'RABAT', 'CASA', 1400, 1600);
-- Requêtes demandées
-- 2) Afficher tous les avions
SELECT * FROM Avion;
-- 10) Afficher les données des avions dont la capacité est la plus basse
SELECT * FROM Avion WHERE Capacité = (SELECT MIN(Capacité) FROM Avion);
-- 11) Afficher les données des avions dont la capacité est supérieure à la capacité moyenne
SELECT * FROM Avion WHERE Capacité > (SELECT AVG(Capacité) FROM Avion);
-- 12) Afficher le nom et l’adresse des pilotes assurant les vols IT100 et IT104 (jointure entre
table pilote et vol)
SELECT Pilote.Nom, Pilote.Adresse FROM Pilote INNER JOIN Vol ON Pilote.NP = Vol.NP
WHERE Vol.NV IN (1, 4);
-- 14) Afficher les numéros des pilotes qui ne sont pas en service
SELECT NP FROM Pilote WHERE NP NOT IN (SELECT DISTINCT NP FROM Vol);