correct merge I hope

This commit is contained in:
nbillard 2022-12-09 12:09:03 +01:00
commit 384b5619b9
3 changed files with 124 additions and 22 deletions

View file

@ -205,9 +205,9 @@ INSERT INTO Auteur_Externe VALUES (
INSERT INTO Auteur_Externe VALUES ( INSERT INTO Auteur_Externe VALUES (
3, 3,
'Paul', 'Pascal',
'Hugo', 'Gerard',
'paulo@mail.com', 'gege@mail.com',
1 1
); );
@ -322,6 +322,24 @@ INSERT INTO Publication VALUES (
500 500
); );
INSERT INTO Publication VALUES (
004,
'Physique quantique',
DATE '2017-12-03',
'Physique',
113,
1520
);
INSERT INTO Publication VALUES (
005,
'La nourriture en France',
DATE '2022-12-03',
'IEE',
112,
20
);
INSERT INTO Publie_Doctorant VALUES ( INSERT INTO Publie_Doctorant VALUES (
1, 1,
2 2
@ -352,6 +370,48 @@ INSERT INTO Publie_Scientifique VALUES (
2 2
); );
INSERT INTO Publie_Scientifique VALUES (
4,
2
);
INSERT INTO Publie_Scientifique VALUES (
4,
3
);
INSERT INTO Publie_Externe VALUES (
1,
0
);
INSERT INTO Publie_Externe VALUES (
1,
3
);
INSERT INTO Publie_Externe VALUES (
2,
2
);
INSERT INTO Publie_Externe VALUES (
3,
1
);
INSERT INTO Publie_Externe VALUES (
4,
1
);
INSERT INTO Publie_Externe VALUES (
4,
3
);
--Yasmine --Yasmine
INSERT INTO Evenememnt VALUES ( INSERT INTO Evenememnt VALUES (
0001,INSERT INTO 0001,INSERT INTO

View file

@ -3,8 +3,8 @@
--SELECT COUNT(id) --SELECT COUNT(id)
--FROM SELECT idScientifique FROM Enseignant_Chercheur --FROM SELECT idScientifique FROM Enseignant_Chercheur
-- WHERE idScientifique = 01; -- WHERE idScientifique = 01;
SELECT COUNT(idPublication) as nbCollab FROM Publication --SELECT COUNT(idPublication) as nbCollab FROM Publication
WHERE classeConf = 'A'; --WHERE classeConf = 'A';
-- Nathan Q1 -- Nathan Q1
SELECT Personnel.nom, Scientifique.grade FROM Personnel, Scientifique SELECT Personnel.nom, Scientifique.grade FROM Personnel, Scientifique
@ -25,6 +25,21 @@ WHERE perso.nom = 'Azi'
AND annee >= '2016-01-01' AND annee >= '2016-01-01'
AND annee <= '2020-01-01'; AND annee <= '2020-01-01';
--Axel Q3
SELECT COUNT(DISTINCT idAuteurExterne) AS nbCollab FROM Publie_Externe pe
JOIN Publie_Scientifique ps ON pe.idPublication = ps.idPublication
RIGHT JOIN Publie_Doctorant pdoc ON pe.idPublication = pdoc.idPublication
JOIN Enseignant_Chercheur ec ON ec.idEnseignant = ps.idScientifique
WHERE idScientifique = '01';
-- Axel Q4
SELECT COUNT(DISTINCT pays) AS nbPaysCollab FROM Labo_Externe le
RIGHT JOIN Auteur_Externe ae ON ae.idLabo = le.idLabo
RIGHT JOIN Publie_Externe pe ON pe.idAuteurExterne = ae.idAuteurExterne
JOIN Publication pub ON pub.idPublication = pe.idPublication
WHERE pub.classeConf = 'A';
-- Nathan Q5 -- Nathan Q5
SELECT idDoctorant, COUNT(idPublication) FROM Publie_Doctorant SELECT idDoctorant, COUNT(idPublication) FROM Publie_Doctorant
GROUP BY idDoctorant; GROUP BY idDoctorant;
@ -38,7 +53,7 @@ SELECT nom, prenom FROM Personnel
WHERE idPersonnel IN ( WHERE idPersonnel IN (
SELECT idScientifique FROM Scientifique SELECT idScientifique FROM Scientifique
WHERE idScientifique NOT IN ( WHERE idScientifique NOT IN (
SELECT idScientifique FROM Encadrement SELECT idScientifique FROM Encadrement
) )
); );
@ -80,7 +95,7 @@ GROUP BY idDoctorant;
--Yasmine QUESTION 8 --Yasmine QUESTION 8
SELECT idEnseignant SELECT idEnseignant
FROM Enseignant-chercheur FROM Enseignant_chercheur
NOT IN ( (SELECT idScientifique NOT IN ( (SELECT idScientifique
FROM Publie_scientifique) FROM Publie_scientifique)
UNION UNION
@ -88,29 +103,46 @@ NOT IN ( (SELECT idScientifique
FROM Encadrement) FROM Encadrement)
) ; ) ;
<<<<<<< HEAD
-- Axel Q12
SELECT idEnseignant FROM Enseignant_Chercheur ec
RIGHT JOIN Publie_Scientifique ps ON ps.idScientifique = ec.idScientifique
RIGHT JOIN Publication pub ON pub.idPublication = ps.idScientifique
WHERE pub.classeConf = 'A';
--EXCEPT SELECT idEnseignant FROM Enseignant_Chercheur ec
--RIGHT JOIN Publie_Scientifique ps ON ps.idScientifique = ec.idScientifique
--RIGHT JOIN Publication pub ON pub.idPublication = ps.idScientifique
--WHERE pub.classeConf = 'A'
-- AND pub.classeConf IN 'A*' 'B';
-- Yasmine QUESTION 14 -- Yasmine QUESTION 14
=======
-- Yasmine QUESTION 14 Testé
>>>>>>> af456634e468d2a6e5d3dbc4e169d73853af5baf
SELECT Count(Distinct idPublication) SELECT Count(Distinct idPublication)
FROM Publication FROM Publication
GROUP BY annee ; GROUP BY publication.annee;
-- Yasmine QUESTION 15 -- Yasmine QUESTION 15 Testé PAS D'ERREUR DE SYNTAXE
SELECT Count(Distinct E,idEnseignant) SELECT Count(Distinct E.idEnseignant)
FROM Enseignant-chercheur E,Personnel P ,Scientifique S FROM Enseignant_chercheur E,Personnel P ,Scientifique S
WHERE P.idPersonnel=S.idScientifique WHERE P.idPersonnel=S.idScientifique
AND S.idScientifique=E.idEnseignant AND S.idScientifique=E.idEnseignant
GROUP BY idEtablissement  ; GROUP BY idEtablissement;
-- Yasmine QUESTION 19 -- Yasmine QUESTION 19 Testé PAS D'ERREUR DE SYNTAXE
SELECT idEtablissement, Count(Distinct idEnseignant) SELECT idEtablissement, Count(Distinct idEnseignant)
FROM Enseignant-chercheur FROM Enseignant_chercheur
GROUP BY idEtablissement GROUP BY idEtablissement
HAVING count(Distinct idEnseignant) >= 50 ; HAVING count(Distinct idEnseignant) >= 50;
--Yasmine QUESTION 21 --Yasmine QUESTION 21 Testé PAS D'ERREUR DE SYNTAXE
SELECT Distinct P.Pays SELECT Distinct P.Pays
FROM Partenaire P, Participe_externe PEX FROM Partenaire P, Participe_externe PEX
@ -122,5 +154,5 @@ and not exists (Select *
From Participe_externe PEX2 From Participe_externe PEX2
Where PEX2.idPartenaire=P.idPartenaire and Where PEX2.idPartenaire=P.idPartenaire and
PEX2.idPr=PR.idProjet)); PEX2.idProjet=PR.idProjet));

View file

@ -1,5 +1,5 @@
-- Nathan -- Nathan
CREATE TYPE echelon AS ENUM ( CREATE TYPE T_CLASSECONF AS ENUM (
'A*', 'A*',
'A', 'A',
'B', 'B',
@ -7,13 +7,23 @@ CREATE TYPE echelon AS ENUM (
); );
-- Nathan -- Nathan
CREATE TYPE grade AS ENUM ( CREATE TYPE T_GRADE AS ENUM (
'cr1', 'cr1',
'cr2', 'cr2',
'mcf', 'mcf',
'mcf hors classe' 'mcf hors classe'
); );
CREATE TYPE T_ECHELON AS ENUM (
1,
2,
3,
4,
5,
6,
7
);
-- Axel -- Axel
CREATE TABLE Personnel CREATE TABLE Personnel
( (
@ -37,7 +47,7 @@ CREATE TABLE Doctorant(
--Yasmine --Yasmine
CREATE TABLE Scientifique( CREATE TABLE Scientifique(
idScientifique INT NOT NULL, idScientifique INT NOT NULL,
grade VARCHAR, grade T_GRADE,
FOREIGN KEY (idScientifique) REFERENCES Personnel(idPersonnel) ON DELETE CASCADE, FOREIGN KEY (idScientifique) REFERENCES Personnel(idPersonnel) ON DELETE CASCADE,
PRIMARY KEY (idScientifique) PRIMARY KEY (idScientifique)
); );
@ -55,7 +65,7 @@ CREATE TABLE Etablissement(
CREATE TABLE Enseignant_Chercheur( CREATE TABLE Enseignant_Chercheur(
idEnseignant INT NOT NULL, idEnseignant INT NOT NULL,
idEtablissement INT NOT NULL, idEtablissement INT NOT NULL,
echelon ECHELON, echelon T_ECHELON,
FOREIGN KEY (idEtablissement) REFERENCES Etablissement(idEtablissement) ON DELETE CASCADE, FOREIGN KEY (idEtablissement) REFERENCES Etablissement(idEtablissement) ON DELETE CASCADE,
FOREIGN KEY (idEnseignant) REFERENCES Personnel(idPersonnel) ON DELETE CASCADE, FOREIGN KEY (idEnseignant) REFERENCES Personnel(idPersonnel) ON DELETE CASCADE,
PRIMARY KEY (idEnseignant) PRIMARY KEY (idEnseignant)
@ -118,7 +128,7 @@ CREATE TABLE Publication(
titre VARCHAR, titre VARCHAR,
annee DATE, annee DATE,
nomConf VARCHAR, nomConf VARCHAR,
classeConf VARCHAR, classeConf T_CLASSECONF,
nbPages INT, nbPages INT,
PRIMARY KEY (idPublication) PRIMARY KEY (idPublication)
); );