Pour pouvoir tester vos compétences en sql , et plus précisément , en recherche des données via l’ordre SELECT; voilà un TP (TP sur l’ordre SELECT) qui présente un cas réel de gestion des données. Un TP avec 20 questions pour vous aidez à voir les différents scénarios possibles.
Vous devez suivez les questions et proposez votre solution dans la partie des commentaires. Ainsi, vous serez amené à comprendre vos erreurs et donc ne les refaire jamais par la suite.
TP sur l'ordre SELECT : Enoncé
Soit la base relationnelle de données PUF de schéma :
Usine(NumU, NomU, VilleU)
Produit(NumP, NomP, Couleur, Poids)
Fournisseur(NumF, NomF, Statut, VilleF)
PUF(#NumP, #NumU, #NumF, Quantité)
PUF décrit le fait qu’un produit de numéro NumP a été livré à l’usine de numéro NumU par le fournisseur de numéro NumF avec une Quantité donnée.
Partie 1 :
- Donnez le numéro, le nom et la ville de toutes les usines
- Afficher le numéro, le nom, la ville de toutes les usines de Casa
- Lister les numéros des fournisseurs qui approvisionnent (fournissent) l’usine de numéro 5 en produit de numéro 100
- Sélectionner les noms et les couleurs des produits livrés par le fournisseur de numéro 2
- Afficher les numéros des fournisseurs qui approvisionnent l’usine de numéro 2 en un produit rouge
- Donnez les noms des fournisseurs qui approvisionnent une usine de casa ou de rabat en produit rouge
- Lister les numéros des produits livrés à une usine par un fournisseur de la même ville
- Donnez les numéros des produits livrés à une usine de Casa par un fournisseur de Casa.
- Sélectionner les numéros des usines qui ont au moins un fournisseur qui n’est pas de la même ville
Partie 2 :
- Afficher les numéros des fournisseurs qui approvisionnent à la fois des usines de numéros 2 et 3
- Donnez les numéros des usines qui utilisent au moins un produit disponible chez le fournisseur de numéro 3 (c’est-à-dire un produit que le fournisseur livre mais pas nécessairement à cette usine)
- Rechercher le numéro du produit le plus léger (les numéros si plusieurs produits ont ce même poids)
- Lister le numéro des usines qui ne reçoivent aucun produit rouge d’un fournisseur de casa
- Afficher les numéros des fournisseurs qui fournissent au moins un produit fourni par au moins un fournisseur qui fournit au moins un produit rouge
Partie 3 :
- Donnez tous les triplets (VilleF, NumP, VilleU) tels qu’un fournisseur de la première ville VilleF approvisionne une usine de la deuxième
ville VilleU avec un produit NumP - Même question que précédemment mais sans les triplets où les deux villes sont identiques
- Sélectionner les numéros des produits qui sont livrés à toutes les usines de Paris
- Afficher les numéros des fournisseurs qui approvisionnent toutes les usines avec un même produit
- Donnez les numéros des usines qui achètent au fournisseur de numéro 3 tous les produits qu’il fournit
- Lister les numéros des usines qui s’approvisionnent uniquement chez le fournisseur de numéro 3
Si vous voulez un deuxième TP sur l’ordre select, le voilà : TP2 sur select (avec solution).
Vous pouvez suivre notre cours complet d’SQL . Il vous aide à approfondir vos compétences sur la création d’une base de données relationnelle et la manipulation des données avec les ordres sql : select, update, delete, insert
Aussi, vous avez une playlist des vidéos (Explication en Darija arabe marocaine) bien organisée qui traite : Les bases de données (partie SQL)
Partie 1:
1/ SELECT * FROM Usine;
2/ Je ne comprends pas la question. Casa c’est quoi?
3/ SELECT numF FROM PUF WHERE numU = 5 AND numP = 100;
4/ SELECT nomP, couleur FROM Produit JOIN PUF ON PUF.numP = Produit.numP WHERE PUF.numF = 2;
5/ SELECT numF FROM Produit JOIN PUF ON PUF.numP = Produit.numP WHERE couleur = ‘rouge’;
6/ SELECT nomP FROM Fournisseur JOIN PUF ON PUF.numF = Fournisseur.numF JOIN Produit ON PUF.numP = Produit.numP
WHERE (nomP = ‘casa’ OR nomP = ‘rabat’) AND couleur = ‘rouge’;
7/ SELECT numP FROM Usine JOIN Fournisseur ON VileU = VilleF JOIN PUF ON PUF.numF = Fournisseur.numF;
8/Je ne comprends pas la question. Casa c’est quoi?
9/ SELECT numU FROM Usine JOIN Fournisseur ON VileU != VilleF
Casa est un nom de ville