Exercice 1 : Exemple pour un client : INSERT INTO Clients VALUES (1, 'Léo Martin', 'leomartin@mail.fr', '2, rue de la Visitation 54000 Nancy', '0600000000'); (Par principe, on termine une requête par un point-virgule, mais ceci n'est crucial que si on écrit plusieurs requêtes à la suite.) Ceci étant, on ne peut pas présumer de la valeur de l'attribut id_client, donc il faut recourir à l'autre syntaxe d'insertion dans le doute, avec un exemple d'insertion de commande : INSERT INTO Commandes(id_client, id_produit, quantite) VALUES (2, 4, 10); Les accents graves entourant les tables et attributs ne sont obligatoires que s'il y a des espaces, afin d'éviter de fractionner un nom. Comme ils sont parfois pénibles à produire, on s'en passera. Cependant, les apostrophes (ou guillemets) sont obligatoires autour des valeurs constantes non numériques. Pour les commandes, il faudra veiller à ce que les identifiants du client et du produit existent, dans un souci de cohérence. Exercice 2 : SELECT * FROM Clients; Exercice 3 : SELECT nom_produit FROM Produits; Exercice 4 : SELECT * FROM Produits WHERE stock < 5; Exercice 5 : UPDATE Produits SET stock = 19 WHERE id_produit = 12; On a arbitrairement choisi le produit numéro 12, et on peut utiliser un autre attribut à la place de l'attribut id_produit, mais cela fait courir le risque qu'un autre produit soit impacté. Exercice 6 : DELETE FROM Commandes WHERE id_commande = 1; Même remarque sur la condition. Exercice 7 : SELECT * FROM Clients INNER JOIN Commandes ON Clients.id_client = Commandes.id_client WHERE identite = 'Léo Martin'; L'exercice introduisant la notion de jointure, il s'agit forcément de faire une condition sur l'identité afin d'avoir besoin de relier deux tables. Pour information, il n'est pas nécessaire d'écrire INNER, la jointure par défaut est la jointure interne symétrique quand on écrit JOIN. En raison de l'existence d'un attribut id_client dans les deux tables, ce nom est ambigu et nécessite d'être préfixé dans une telle requête partout où on l'utilise. Exercice 8 : SELECT * FROM Clients INNER JOIN Commandes ON Clients.id_client = Commandes.id_client INNER JOIN Produits ON Commandes.id_produit = Produits.id_produit WHERE identite = 'Léo Martin'; Il faut bien faire attention à l'ordre des parties de cette requête. Exercice 9 : SELECT * FROM Commandes INNER JOIN Produits ON Commandes.id_produit = Produits.id_produit WHERE quantite > stock; Exercice 10 : SELECT identite FROM Clients INNER JOIN Commandes ON Clients.id_client = Commandes.id_client INNER JOIN Produits ON Commandes.id_produit = Produits.id_produit WHERE quantite > stock;