ajout des tp 8 et 10 de BDD

master
Antoine PEREDERII 2 years ago
parent 5eb72589b3
commit f7bd42486a

@ -90,147 +90,79 @@ INSERT INTO REPAS VALUES ('11/09/2021', 2, 'D0009', 'P0003');
INSERT INTO REPAS VALUES ('12/09/2021', 8, 'D0009', 'P0004');
INSERT INTO REPAS VALUES ('25/09/2021', 20, 'D0006', 'P0003');
/* TP5 a mettre dans le terminale */
/* Question 1 */
/* SELECT nom FROM DRAGON WHERE crache_feu = 'O'; */
/* Question 2 */
/* SELECT nom FROM DRAGON WHERE crache_feu = 'O' AND en_amour = 'timide'; */
/* Question 3 */
/* SELECT * FROM DRAGON WHERE sexe = 'F' ORDER BY longeur DESC; */
/* Question 4 */
/* SELECT longeur/nb_ecailles FROM DRAGON; */
/* Question 5 */
/* SELECT DISTINCT numDragon1 FROM AMOUR; */
/* Question 6 */
/* SELECT numDragon1 FROM AMOUR WHERE numDragon2 = 'D0003'; */
/* Question 7 */
/* SELECT numDragon2 FROM AMOUR WHERE numDragon1 = 'D0005'; */
/* Question 8 */
/* SELECT numDragon1 FROM AMOUR WHERE force = 'un peu'; */
/* Question 9 */
/* SELECT numDragon1, force, numDragon2 FROM AMOUR WHERE force = 'passionnement'; */
/* Question 10 */
/* SELECT * FROM NOURRITURE WHERE calories < 10; */
/* Question 11 */
/* SELECT * FROM REPAS JOIN NOURRITURE ON REPAS.numN = NOURRITURE.numN WHERE NOURRITURE.nom = 'Oeuf'; */
/* Question 12 */
/* SELECT distinct(numD) FROM REPAS; */
/* Question 13 */
/* SELECT * FROM DRAGON WHERE num_terr = 'T01'; */
/* Question 14 */
/* SELECT * FROM TERRITOIRE WHERE latitude2 = 'S'; */
/* TP7*/
/* Question 1 */
/* SELECT * FROM DRAGON WHERE nom LIKE 'S%'; */
/* Question 2 */
/* SELECT numDragon1 || ' aime ' || numDragon2 || ' de manière : ' || force FROM Amour; */
/* Question 3 */
/* SELECT nom, char_length(nom) FROM TERRITOIRE; */
/* Question 4 */
/* SELECT lower(nom) FROM NOURRITURE; */
/* Question 5 */
/* SELECT substr(nom, 1, 3) FROM DRAGON; */
/* Question 6 */
/* SELECT to_char(current_date, 'YYYY-MM-DD'); */
/* Question 7 */
/* SELECT current_date -10 as "date il y a 10 jours"; */
/* Question 8 */
/* SELECT (CURRENT_DATE - '2004-01-12'::date) / 365 as age, round((current_date - '2004-01-12'::date) / 365::numeric, 3) as age_reel; */
/* Question 9 */
/* SELECT ceil((current_date-'2004-01-12'::date)/365::numeric); */
/* Question 10 */
/* SELECT trunc((current_date-'2004-01-12'::date)/365::numeric,1);
SELECT floor((current_date-'2004-01-12'::date)/365::numeric);*/
/* Question 11 */
/* SELECT round((current_date-date_naissance::date)/365::numeric,3) FROM DRAGON; */
/* Question 12 */
/* SELECT * FROM DRAGON WHERE round((current_date-date_naissance::date)/365::numeric,3)<3;*/
/* Question 13 */
/* SELECT * FROM REPAS WHERE to_char(date_repas, 'MON') = 'SEP'; */
/* TP8*/
UPDATE DRAGON SET num_terr = 'T03' WHERE numD = 'D0008';
/* Question 1 */
/* SELECT DRAGON.nom FROM DRAGON JOIN TERRITOIRE ON DRAGON.num_terr = TERRITOIRE.num_terr WHERE TERRITOIRE.latitude2 = 'S'; */
/* Question 2 */
/* SELECT DRAGON.nom FROM DRAGON JOIN AMOUR ON DRAGON.numD = AMOUR.numDragon1 WHERE AMOUR.force = 'un peu'; */
/* Question 3 */
/* SELECT DRAGON.nom FROM DRAGON JOIN REPAS ON DRAGON.numD = REPAS.numD JOIN NOURRITURE ON REPAS.numN = NOURRITURE.numN WHERE NOURRITURE.nom = 'Oeuf'; */
/* Question 4 */
/* SELECT TERRITOIRE.NOM, TERRITOIRE.longitude, TERRITOIRE.latitude1 FROM TERRITOIRE JOIN DRAGON ON TERRITOIRE.num_terr = DRAGON.num_terr JOIN REPAS ON DRAGON.numD = REPAS.numD JOIN NOURRITURE ON REPAS.numN = NOURRITURE.numN WHERE NOURRITURE.nom = 'Orange'; */
/* Question 5 */
/* SELECT REPAS.date_repas, REPAS.qte, NOURRITURE.nom, NOURRITURE.calories FROM REPAS JOIN NOURRITURE ON REPAS.numN = NOURRITURE.numN WHERE REPAS.numD = 'D0008' ORDER BY REPAS.date_repas; */
/* Question 6 */
/* SELECT NOURRITURE.numn, NOURRITURE.nom, TERRITOIRE.num_terr FROM NOURRITURE JOIN REPAS ON NOURRITURE.numn = REPAS.numn JOIN DRAGON ON REPAS.numd = DRAGON.numd JOIN TERRITOIRE ON DRAGON.num_terr = TERRITOIRE.num_terr ORDER BY TERRITOIRE.num_terr; */
/* Question 7 */
/* SELECT DRAGON.nom FROM DRAGON JOIN TERRITOIRE ON DRAGON.num_terr = TERRITOIRE.num_terr JOIN REPAS ON DRAGON.numD = REPAS.numD JOIN NOURRITURE ON REPAS.numN = NOURRITURE.numN WHERE DRAGON.crache_feu = 'O' AND TERRITOIRE.num_terr = 'T02' AND NOURRITURE.nom = 'Oeuf' OR NOURRITURE.nom = 'Orange' ; */
/* Question 8 */
/* SELECT AMOUR.force, DRAGON.nom FROM DRAGON JOIN AMOUR ON DRAGON.numD = AMOUR.numDragon1; */
/* Question 9 */
/* SELECT DRAGON.nom FROM DRAGON JOIN AMOUR ON DRAGON.numD = AMOUR.numDragon1 JOIN TERRITOIRE ON TERRITOIRE.num_terr = DRAGON.num_terr WHERE DRAGON.crache_feu='O' AND 85<TERRITOIRE.longitude AND TERRITOIRE.longitude<95; */
/* Question 10 */
/* SELECT DRAGON.nom FROM DRAGON JOIN AMOUR ON DRAGON.numD = AMOUR.numDragon1 WHERE AMOUR.force = 'passionement' AND DRAGON.en_amour='macho'; */
/* Question 11 */
/* SELECT NOURRITURE.nom FROM NOURRITURE JOIN REPAS ON NOURRITURE.numn = REPAS.numn JOIN DRAGON ON REPAS.numd = DRAGON.numd JOIN AMOUR ON DRAGON.numD = AMOUR.numDragon1 WHERE DRAGON.longeur>200 AND AMOUR.force = 'un peu'; */
/* Question 12 */
/* SELECT aimant.nom, aime.nom FROM DRAGON aimant JOIN AMOUR ON aimant.numD = AMOUR.numDragon1 JOIN DRAGON AS aime ON AMOUR.numDragon2 = aime.numD; */
/* Question 13 */
/* SELECT DISTINCT DRAGON.nom FROM DRAGON JOIN REPAS ON DRAGON.numD = REPAS.numD JOIN NOURRITURE ON REPAS.numN = NOURRITURE.numN WHERE NOURRITURE.nom = 'Oeuf' AND DRAGON.numD NOT IN (SELECT DRAGON.numD FROM DRAGON JOIN REPAS ON DRAGON.numD = REPAS.numD JOIN NOURRITURE ON REPAS.numN = NOURRITURE.numN WHERE NOURRITURE.nom = 'Orange'); */
/* Question 14 */
/* */
/* TP9 */
INSERT INTO AMOUR VALUES('un peu', 'D0008', 'D0002');=
/* Question 1 */
/*Question 1
SELECT count(nom)
FROM Dragon
WHERE num_terr='T02';
*/
/* Question 2
SELECT count(num_Drag1)
FROM Amour
WHERE num_Drag2='D0008';
*/
/* Question 3
SELECT CAST(avg(longueur) AS decimal(10,2))
FROM Dragon
WHERE crache_feu='O';
*/
/* Question 4
SELECT sum(n.calories)
FROM Nourriture n, Repas r
WHERE r.num_Nourriture = n.num AND r.date_repas='09/09/2021' AND r.num_Drag ='D0009';
*/
/* Question 5
SELECT max(longueur)
FROM Dragon
WHERE sexe='F';
*/
/* Question 6
SELECT nom
FROM Dragon
WHERE longueur = (SELECT max(longueur)
FROM Dragon);
*/
/* Question 7
SELECT nom
FROM Nourriture
WHERE calories = (SELECT max(calories)
FROM Nourriture);
*/
/* Question 8
SELECT nom
FROM Nourriture
WHERE calories = (SELECT min(calories)
FROM Nourriture);
*/
/* QUestion 9 && 10
SELECT a1.num_Drag1, a2.num_Drag1
FROM Amour a1, Amour a2
WHERE a1.num_Drag1 = a2.num_Drag2 AND a2.num_Drag1 = a1.num_Drag2 AND a1.num_Drag1 < a2.num_Drag1;
*/
/* Question 11
SELECT a1.num_Drag1, a2.num_Drag1
FROM Amour a1, Amour a2
WHERE a1.force = a2.force AND a1.num_Drag1 = a2.num_Drag2 AND a2.num_Drag1 = a1.num_Drag2 AND a1.num_Drag1 < a2.num_Drag1;
*/
SELECT num_Drag1
FROM Amour
WHERE num_Drag2 NOT IN (SELECT num FROM Dragon WHERE num IN (SELECT num_Drag FROM Repas));
SELECT num FROM Dragon WHERE NOT EXISTS (SELECT num_Drag FROM Repas);
SELECT DISTINCT num_Drag FROM Repas
SELECT * FROM TERRITOIRE;

@ -119,6 +119,10 @@ SELECT REPAS.date_repas, REPAS.qte, NOURRITURE.nom, NOURRITURE.calories FROM REP
SELECT NOURRITURE.numn, NOURRITURE.nom, TERRITOIRE.num_terr FROM NOURRITURE JOIN REPAS ON NOURRITURE.numn = REPAS.numn JOIN DRAGON ON REPAS.numd = DRAGON.numd JOIN TERRITOIRE ON DRAGON.num_terr = TERRITOIRE.num_terr ORDER BY REPAS.date_repas;
/* Question 7 fonctionne pas !!! pas de territoire !!??*/
SELECT DISTINCT d.nom
FROM Dragon d, Territoire t, Repas r
WHERE d.num = r.num_Drag AND d.num_terr = t.num_terr AND t.num_terr = 'T02' AND d.crache_feu = 'O' AND (r.num_Nourriture ='P0004' or r.num_Nourriture='P0003');
SELECT DISTINCT DRAGON.nom FROM DRAGON JOIN TERRITOIRE ON DRAGON.num_terr = TERRITOIRE.num_terr JOIN REPAS ON DRAGON.numD = REPAS.numD JOIN NOURRITURE ON REPAS.numN = NOURRITURE.numN WHERE DRAGON.crache_feu = 'O' AND TERRITOIRE.num_terr = 'T02' AND NOURRITURE.nom = 'Oeuf' OR NOURRITURE.nom = 'Orange' ;
/* Question 8 */
@ -131,9 +135,17 @@ SELECT DRAGON.nom FROM DRAGON JOIN AMOUR ON DRAGON.numD = AMOUR.numDragon1 JOIN
SELECT DRAGON.nom FROM DRAGON JOIN AMOUR ON DRAGON.numD = AMOUR.numDragon1 WHERE AMOUR.force = 'passionnement' AND DRAGON.en_amour='macho';
/* Question 11 Ne fonctionne pas !!!! */
SELECT d.nom
FROM Dragon d, Amour a , Repas r, Nourriture n
WHERE d.num = a.num_Drag2 AND d.num = r.num_Drag AND n.num = r.num_Nourriture AND d.longueur>=2 AND n.num IN (r.num_Nourriture) AND a.force = 'un peu';
SELECT NOURRITURE.nom FROM NOURRITURE JOIN REPAS ON NOURRITURE.numn = REPAS.numN JOIN DRAGON ON REPAS.numD = DRAGON.numD JOIN AMOUR ON DRAGON.numD = AMOUR.numDragon1 WHERE DRAGON.longeur > 200 AND AMOUR.force = 'un peu';
/* Question 12 Je sais pas, je comprend pas !!! */
SELECT *
FROM Amour a1, Amour a2
WHERE a1.num_Drag1=a2.num_Drag2 AND a1.num_Drag2=a2.num_Drag1;
SELECT aimant.nom || ' est en couple avec ' || aime.nom FROM DRAGON AS aimant JOIN AMOUR ON aimant.numD = AMOUR.numDragon1 JOIN DRAGON AS aime ON AMOUR.numDragon2 = aime.numD;
/* Question 13 */

Loading…
Cancel
Save