--- title: BDR - grTP4 - Grp_10 tags: grTP4 --- [//]: <> (Ne pas modifier ce qui est au dessus SVP.) # TP3 ### Exercice 1 Requête 1 ```SQL SELECT * from test show search_path; "$user", tp3 set search_path to "résultat du premier argument du show search_path" ,tp3_recettes --3. Quels sont les noms des recettes composées de fruits de mer ? ``` /QUESTION 1:Quels sont les noms des recettes de plus de 90 calories par personne ?* ```SQL SELECT nom_recette FROM recette WHERE calories_recette/nb_personnes>=90 ``` /QUESTION 2:Quels sont les descriptifs des produits présents dans le réfrigérateur ? ```SQL * SELECT descriptif_produit FROM produit JOIN rangement USING(num_rangement) WHERE nom_rangement='réfrigérateur' ``` --3. Quels sont les noms des recettes composées de fruits de mer ? ```sql --le code des fruits de mer est 8 SELECT nom_recette FROM recette JOIN composition USING(num_recette) join ingredient using(num_ingredient) join type_ingredient using(num_type_ingredient) WHERE num_type_ingredient=8; ``` --4. Quels sont les noms des recettes n’utilisant pas de fruits de mer ? ```sql= select nom_recette from recette where num_recette not in ( select num_recette from tp3.recette join composition using(num_recette) join ingredient using (num_ingredient) join type_ingredient using(num_type_ingredient) where num_type_ingredient=8); ``` OU ALORS ```sql= select nom_recette from recette except SELECT nom_recette FROM recette JOIN composition USING(num_recette) join ingredient using(num_ingredient) join type_ingredient using(num_type_ingredient) WHERE num_type_ingredient=8; ``` 5. Les questions suivantes ne font intervenir qu’une partie des ingrédients : ceux de type « matière grasse ». Nous allons donc créer une vue pour simplifier ces requêtes. i. Écrivez une requête SELECT retournant les ingrédients du type « matière grasse » (seules les colonnes de la table ingredient seront retournées) ```sql= select * from ingredient join type_ingredient using(num_type_ingredient) where num_type_ingredient=9; ``` --iii. Affichez le contenu de la vue ```sql= select * from ingredient_gras; ``` iv. Quelles sont les recettes ayant plus de deux ingrédients gras différents ? ```sql= select nom_recette, count(nom_recette) from recette join composition using(num_recette) join ingredient_gras using(num_ingredient) group by nom_recette having count(nom_recette)>=2; ``` v. Quels sont les rangements ayant des ingrédients gras ? ```sql= ```