Exercice 1 : Fonctions basiques
Questions
1. Trier tous les produits par leur prix unitaire
Ordonnez les produits du moins cher au plus cher.
2. Lister les trois produits les plus chers
Affichez les 3 produits avec les prix les plus élevés.
3. Lister les clients suisses, allemands et belges
Filtrez les clients selon leur pays (Suisse, Allemagne, Belgique).
💡 Indice
Utilisez l'opérateur IN pour filtrer sur plusieurs valeurs.
4. Lister les noms des Sociétés dont le nom contient "restaurant"
Recherchez les sociétés clients ayant "restaurant" dans leur nom.
5. Lister les différents pays des clients (sans doublons)
Affichez la liste unique des pays où se trouvent les clients.
6. Idem en ajoutant les villes, le tout trié par ordre alphabétique du pays et de la ville
Affichez les couples (Pays, Ville) sans doublon, triés par pays puis par ville.
7. Lister tous les produits vendus en bouteilles ou en canettes
Recherchez les produits dont l'unité de vente (QteParUnit) contient "bouteille" ou "canette".
8. Lister les produits du fournisseur n° 8 dont le prix unitaire est entre 10 et 100€
Affichez le nom et la référence du produit en majuscule.
💡 Indice
Pour convertir en majuscule, utilisez la fonction UPPER().
9. Lister les numéros d'employés ayant réalisé une commande à livrer à Lille, Lyon ou Nantes
Récupérez les NoEmp des employés pour des commandes destinées à ces villes.
10. Lister les produits dont le nom contient "tofu" ou "choco", dont le prix est inférieur à 100€
Affichez le nom et le prix de ces produits.
💡 Indice
Attention à la priorité des opérateurs ! Utilisez des parenthèses pour grouper les conditions OR.
Rappel de cours
Sélection et Tri
-- Sélectionner toutes les colonnes
SELECT * FROM Table;
-- Sélectionner des colonnes spécifiques
SELECT Colonne1, Colonne2 FROM Table;
-- Trier les résultats (ASC pour croissant, DESC pour décroissant)
SELECT * FROM Table ORDER BY Colonne1 ASC;
Filtrage
-- Filtrer avec une condition simple
SELECT * FROM Table WHERE Colonne1 = 'Valeur';
-- Filtrer avec plusieurs valeurs (IN)
SELECT * FROM Table WHERE Colonne1 IN ('Val1', 'Val2');
-- Recherche partielle (LIKE)
-- % remplace n'importe quelle suite de caractères
SELECT * FROM Table WHERE Colonne1 LIKE '%texte%';
-- Conditions multiples (AND / OR)
SELECT * FROM Table WHERE Colonne1 = 'A' AND Colonne2 > 10;
Autres fonctions
-- Supprimer les doublons
SELECT DISTINCT Colonne1 FROM Table;
-- Limiter le nombre de résultats
SELECT * FROM Table LIMIT 5;
-- Convertir en majuscules
SELECT UPPER(Colonne1) FROM Table;