Fiche de travail 1Fiche de travail 1CAS ADICAS ADI
Les Requêtes S.Q.LLes Requêtes S.Q.L« Structured Query Language)« Structured Query Language)
TDTD
Formateurs : Richit Nathalie, Pouplier Thierry, Patrice Viaud, Patrick Laupies Formateurs : Richit Nathalie, Pouplier Thierry, Patrice Viaud, Patrick Laupies
Requête N° 1:Veuillez supprimer les clients d’Arles et d’Apt
DELETEDELETE CLIENTS.* CLIENTS.*
FROMFROM CLIENTS CLIENTS
WHEREWHERE VILLE_CLIENT="ARLES" VILLE_CLIENT="ARLES"
OROR VILLE_CLIENT="APT" VILLE_CLIENT="APT"
Requête N° 2 :Veuillez supprimer la commande 1 et la commande 2
DELETE ligne_de_commande.*FROM ligne_de_commandeWHERE NUM_OFFRE_PRIX = 1OR NUM_OFFRE_PRIX=2
DELETE Commandes .*FROM CommandesWHERE NUM_OFFRE_PRIX= 1OR NUM_OFFRE_PRIX=2
Requête N° 3 :Veuillez supprimer les produits du fournisseur FRI ayant une référence commençant pas AC
DELETE Produits.*
FROM Produits
WHERE Produits.Ref_Produit like « AC* »
AND NOM_FOURNISSEUR =“FRI”
Requête N° 4 :Mettre à jour les prix des produits du fournisseur FRI. Les prix augmentent tous de 10 % à compter de ce jour.
UPDATE PRODUITS SET PRIX_PRODUIT =(PRIX_PRODUIT*1.1)
WHERE NOM_FOURNISSEUR = « FRI »
Requête N° 5:Le fournisseur SOU s’appelle désormais SOUT, veuillez faire la mise à jour du fichier.
UPDATE PRODUITS SET NOM_FOURNISSEUR = « SOUT »
WHERE NOM_FOURNISSEUR= « SOU »
Requête N° 6:Le client BALAIX (CODE_CLIENT) a changé d’adresse. Son siège social est désormais à l’adresse suivante. 18 rue Folco de Baroncelli 13310 SAINT MARTIN DE CRAU
UPDATE CLIENTS SET ADRESSE_CLIENT= « 18 rue Folco de Baroncelli », CP_CLIENT= « 13310 », VILLE_CLIENT= « SAINT MARTIN DE CRAU »
WHERE CODE_CLIENT= « BALAIX »
Requête N° 7:Vous devez ajouter un nouveau client dans la base de données :CODE_CLIENT = TARO1NOM_CLIENT = TARTARINADRESSE_CLIENT= 15 rue de la RépubliqueADRESSE_CLIENT_SUITE = CEDEX 02CP_CLIENT = 13 800VILLE_CLIENT = ISTRES
INSERT INTO CLIENTS(CODE_CLIENT, NOM_CLIENT,ADRESSE_CLIENT,ADRESSE_CLIENT_SUITE , CP_CLIENT, VILLE_CLIENT)
VALUES(« TARO1 », « TARTARIN » , « 15 rue de la République », « CEDEX 02 », « 13800 », « ISTRES »)
Requête N° 8 :Vous devez réaliser une requête ajout paramètre, qui permettra d’ajouter de nouveaux clients.Exemple : Veuillez saisir le code client :Veuillez saisir le nom du nouveau client :Veuillez saisir l’adresse du nouveau client :Veuillez saisir l’adresse suite du nouveau client :Veuillez saisir le code postal du nouveau client :Veuillez saisir la ville du nouveau client :
INSERT INTO CLIENTS ( CODE_CLIENT, NOM_CLIENT, ADRESSE_CLIENT, ADRESSE_CLIENT_SUITE, CP_CLIENT, VILLE_CLIENT )
VALUES ([Veuillez saisir le code du nouveau client :],[Veuillez saisir le Nom du nouveau client :], [Veuillez saisir son Adresse],[Veuillez éventuellement saisir la suite de l’adresse du client :],[Veuillez saisir le code Postal du nouveau client :], [Veuillez saisir la ville du client : ])
Requête N° 9:Vous devez réaliser une requête ajout paramètre, qui permettra d’ajouter de nouveaux produits.Exemple : Veuillez saisir la Référence du nouveau produit :Veuillez saisir le nom du fournisseur :Veuillez saisir la désignation du produit :Veuillez saisir le prix du produit :
INSERT INTO Produits(REF_PRODUIT,NOM_FOURNISSEUR,DESIGNATION, PRIX_PRODUIT)
VALUES([Veuillez saisir la référence du nouveau produit :],[Veuillez saisir le nom du fournisseur], [Veuillez saisir la désignation du nouveau produit :],[veuillez saisir le prix du produit :])
Requête N° 10:Nombre de produits. La valeur sera stockée sous le libellé [nombre de produits]
SELECT COUNT(REF_PRODUIT) AS [NOMBRE DE PRODUITS]
FROM Produits;
Requête N° 11 :Nombre de clients. La valeur sera stockée sous le libellé [Nombre de clients]
SELECT COUNT(CODE_CLIENT) AS [NOMBRE DE CLIENTS]
FROM CLIENTS;
Requête N° 12:Quelle est la moyenne des prix pratiqués par le fournisseur ATO. Valeur stockée sous le libellé [Prix moyens ATO]
SELECT AVG(PRIX_PRODUIT) AS [PRIX MOYEN ATO]
FROM Produits
WHERE NOM_FOURNISSEUR="ATO";
Requête N° 13 :Quel est le nom du client ayant commandé le produit dont la référence est :31020054
SELECT NOM_CLIENT,[REF_PRODUIT#]FROM CLIENTS,Commandes,ligne_de_commandeWHERE CLIENTS.CODE_CLIENT = Commandes.
[CODE_CLIENT#]AND Commandes.NUM_OFFRE_PRIX =
ligne_de_commande.NUM_OFFRE_PRIX
AND [REF_PRODUIT#]="31020054";
Requête N° 14 :Quel est le produit le plus cher. Afficher la désignation du produit.
SELECT TOP 1 DESIGNATION, PRIX_PRODUIT
FROM Produits
ORDER BY PRIX_PRODUIT DESC;
Requête N° 15 :Quel est le montant TTC de l’offre N°5 (afficher également le nom du client)
SELECT NOM_CLIENT, ([QUANTITE]*[PRIX_PRODUIT])*((100-[REMISE])/100) AS [MONTANT TTC]
FROM CLIENTS,Commandes,ligne_de_commande,ProduitsWHERE CLIENTS.CODE_CLIENT = Commandes.[CODE_CLIENT#]AND Commandes.NUM_OFFRE_PRIX =
ligne_de_commande.NUM_OFFRE_PRIXAND Produits.REF_PRODUIT = ligne_de_commande.
[REF_PRODUIT#]AND Commandes.NUM_OFFRE_PRIX=5;
Requête N° 16 :Quel est le montant en € de la remise (la valeur sera stockée sous le libellé [Montant de la Remise ] de l’offre N°11 (Nom client)
SELECT NOM_CLIENT, ([QUANTITE]*[PRIX_PRODUIT])*([REMISE]/100) AS [MONTANT DE LA REMISE]
FROM CLIENTS, Commandes, ligne_de_commande, ProduitsWHERE CLIENTS.CODE_CLIENT=Commandes.[CODE_CLIENT#]And
Commandes.NUM_OFFRE_PRIX=ligne_de_commande.NUM_OFFRE_PRIX
And Produits.REF_PRODUIT=ligne_de_commande.[REF_PRODUIT#] And Commandes.NUM_OFFRE_PRIX=11;
Requête N° 17 :Liste des fournisseurs
SELECT NOM_FOURNISSEURFROM ProduitsGROUP BY NOM_FOURNISSEUR;
Requête N° 18:Liste des villes de nos clients (tri ordre croissant sur le nom de la ville)
SELECTSELECT VILLE_CLIENTFROMFROM CLIENTSGROUPGROUP BYBY VILLE_CLIENTORDERORDER BYBY VILLE_CLIENT
Requête N° 19:Liste des villes de nos clients commençant par la lettre B ou la lettre D (tri ordre croissant sur le nom de la ville)
SELECTSELECT VILLE_CLIENTFROMFROM CLIENTSGROUPGROUP BYBY VILLE_CLIENTHAVINGHAVING VILLE_CLIENT Like "b*"OROR VILLE_CLIENT Like "D*"ORDERORDER BYBY VILLE_CLIENT
Requête N° 20:Veuillez afficher la désignation du produit le plus cher de notre fournisseur FRI
SELECTSELECT MaxMax(PRIX_PRODUIT) ASAS [prix du produit le plus cher], NOM_FOURNISSEUR, FirstFirst(DESIGNATION) ASAS [Désignation du produit le plus cher]
FROMFROM ProduitsGROUPGROUP BYBY NOM_FOURNISSEURHAVINGHAVING NOM_FOURNISSEUR="fri"
Requête N° 21:Veuillez afficher le montant TTC de la commande numéro 10
SELECTSELECT Commandes.NUM_OFFRE_PRIX, SumSum([PRIX_PRODUIT]*[QUANTITE]*((100-[REMISE])/100)*1.196) AS [Montant TTC], NOM_CLIENT
FROMFROM CLIENTS, COMMANDES, LIGNE_DE_COMMANDE, PRODUITSWHEREWHERE CLIENTS.CODE_CLIENT = Commandes.[CODE_CLIENT#]ANDAND Commandes.NUM_OFFRE_PRIX =
ligne_de_commande.NUM_OFFRE_PRIX ANDAND Produits.REF_PRODUIT = ligne_de_commande.[REF_PRODUIT#]GROUPGROUP BYBY Commandes.NUM_OFFRE_PRIX, CLIENTS.NOM_CLIENTHAVINGHAVING Commandes.NUM_OFFRE_PRIX=10