Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Exercices Pratiques sur la Commande SELECT SQL
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Bases de donnéesDéveloppement

Exercices Pratiques sur la Commande SELECT SQL

L'Équipe Alphorm Par L'Équipe Alphorm 20 novembre 2024
Partager
Partager

La maîtrise des requêtes SQL est souvent un défi pour les débutants en gestion de bases de données.

Sans une compréhension claire de la commande SELECT, extraire des données pertinentes devient complexe et frustrant.

Cet article propose une approche pratique avec des exercices ciblés sur la commande SELECT pour surmonter ces difficultés.

Table de matière
Commande SELECT SQL : IntroductionFAQConclusion

Formation Le langage SQL : Le Guide Complet

Appréhendez les fondamentaux du langage SQL pour savoir assimiler ses fonctions standards.

Découvrir cette formation

Commande SELECT SQL : Introduction

Dans le cadre de la gestion des bases de données, la commande SELECT est fondamentale pour interroger et récupérer des données. Ce récapitulatif met l’accent sur l’utilisation de SELECT pour des requêtes monotables, c’est-à-dire des requêtes qui concernent une seule table à la fois. À travers des exemples concrets et des exercices pratiques, vous apprendrez à appliquer la syntaxe générale de SELECT et à formuler des requêtes efficaces pour extraire des informations pertinentes de vos tables.

  • Syntaxe Générale de la Commande SELECT

La commande SELECT en SQL est utilisée pour interroger des données à partir d’une ou plusieurs tables.

Voici la syntaxe générale pour une requête SELECT monotable :

				
					
 SELECT [DISTINCT | ALL] * | liste_de_colonnes
FROM nom_table
[WHERE prédicats]
[GROUP BY ordre_des_groupes]
[HAVING condition]
[ORDER BY liste_de_colonnes];

				
			

Éléments de la Syntaxe :

  • SELECT :Indique les colonnes que vous souhaitez récupérer. Vous pouvez utiliser * pour sélectionner toutes les colonnes ou spécifier une liste de colonnes.
  • DISTINCT / ALL :DISTINCT permet d’éliminer les doublons dans les résultats.ALL (par défaut) inclut toutes les lignes, même les doublons.
  • FROM :Spécifie la table à partir de laquelle vous voulez extraire les données.
  • WHERE :Permet de filtrer les résultats selon des conditions spécifiques.
  • GROUP BY :Regroupe les résultats par une ou plusieurs colonnes, souvent utilisé avec des fonctions d’agrégation.
  • HAVING :Filtre les résultats après le regroupement, en utilisant des conditions sur les agrégats.
  • ORDER BY :Trie les résultats selon une ou plusieurs colonnes, dans l’ordre croissant (ASC) ou décroissant (DESC).
  • Les exercices d’applications

Exercice 1 :

Énoncé de l’exercice

  1. Listez tous les employés de la société.
  2. Listez toutes les catégories de produits.
  3. Affichez le nom, prénom et date de naissance de tous les employés.
  4. Affichez la liste des fonctions des employés, chaque fonction doit être affichée une seule fois.
  5. Affichez la liste des villes des clients, chaque ville doit être affichée une seule fois.
  • Solutions
  1. Listez tous les employés de la société.
				
					
 SELECT *
FROM employes;

				
			

Résultat affiché :

Cette requête utilise SELECT * pour récupérer toutes les colonnes de la table employes, affichant ainsi tous les détails de chaque employé.

Tableau SQL avec employés et détails
  1. Listez toutes les catégories de produits.
				
					
 SELECT *
FROM categories;

				
			

Résultat affiché :

Comme dans la première requête, cette commande permet de sélectionner toutes les colonnes de la table categories, montrant ainsi toutes les catégories de produits disponibles.

Tableau SQL montrant les catégories de produits
  1. Affichez le nom, prénom et date de naissance de tous les employés.
				
					
 SELECT nom, prenom, date_naissance
FROM employes;

				
			

Résultat affiché :

Cette requête sélectionne spécifiquement les colonnes nom, prenom et date_naissance de la table employes, affichant les informations essentielles de chaque employé.

Tableau de résultats d'une commande SELECT SQL
  1. Affichez la liste des fonctions des employés, chaque fonction doit être affichée une seule fois.
				
					
 SELECT DISTINCT fonction
FROM employes;

				
			

Résultat affiché :

L’utilisation de SELECT DISTINCT permet d’afficher chaque fonction d’employé une seule fois, éliminant les doublons dans les résultats.

Tableau SQL illustrant les fonctions
  1. Affichez la liste des villes des clients, chaque ville doit être affichée une seule fois.Solution :
				
					
 SELECT DISTINCT ville FROM clients;

				
			

Résultat affiché :

Cette requête récupère les villes des clients tout en s’assurant que chaque ville n’apparaît qu’une seule fois grâce à DISTINCT. Cela permet d’obtenir une vue claire des villes sans répétition.

Liste de villes issue d'une requête SQL SELECT

Exercice 2 :

Énoncé de l’exercice

  1. Listez tous les clients dont le pays est l’Espagne.
  2. Listez tous les employés qui ne sont pas des représentants.
  3. Affichez le nom de la société, la ville, le pays et le fax de tous les clients qui ont un numéro de fax renseigné.
  4. Affichez la liste de tous les employés embauchés en 1993.
  • Solutions
  1. Listez tous les clients dont le pays est l’Espagne.
				
					
 SELECT *
FROM clients
WHERE pays='Espagne';

				
			

Résultat affiché :

Cette requête sélectionne tous les colonnes de la table clients, mais seulement pour les clients dont le pays est spécifiquement l’Espagne. La clause WHERE permet d’appliquer un filtre sur les résultats.

Table de données client pour commande SELECT SQL
  1. Listez tous les employés qui ne sont pas des représentants.
				
					
 SELECT *
FROM employes
WHERE fonction <> 'Représentant(e)';

				
			

Résultat affiché :

Cette requête récupère tous les employés dont la fonction n’est pas ‘Représentant(e)’. Le symbole <> est utilisé pour signifier « différent de », permettant ainsi de filtrer les résultats.

Tableau SQL des employés avec leurs détails
  1. Affichez le nom de la société, la ville, le pays et le fax de tous les clients qui ont un numéro de fax renseigné.
				
					
 SELECT societe, ville, pays, fax
FROM clients
WHERE fax IS NOT NULL;

				
			

Résultat affiché :

Cette requête sélectionne spécifiquement les colonnes societe, ville, pays et fax des clients dont le numéro de fax n’est pas nul (donc renseigné). Cela permet de se concentrer uniquement sur les clients ayant des coordonnées de contact.

Tableau de données SQL montrant sociétés et coordonnées
  1. Affichez la liste de tous les employés embauchés en 1993.
				
					
 SELECT * FROM employes WHERE date_embauche BETWEEN '01/01/1993' AND '31/12/1993';

				
			

Résultat affiché :

Cette requête utilise la clause BETWEEN pour filtrer les employés embauchés au cours de l’année 1993. Elle récupère toutes les colonnes de la table employes pour ces enregistrements.

Tableau des résultats d'une commande SELECT SQL

Exercice 3 :

Énoncé de l’exercice

  1. Affichez le nom, prénom, fonction et salaire des employés qui ont un salaire compris entre 2500 et 3500.
  2. Affichez le nom de la société, l’adresse, le téléphone et la ville des clients qui habitent à Toulouse, à Strasbourg, à Nantes ou à Marseille.
  3. Affichez le nom, prénom, fonction et le salaire des représentants qui sont en activité depuis le « 10/10/1993 ».
  4. Affichez le nom, prénom, fonction et le salaire des employés qui sont âgés de plus de 45 ans ou qui ont une ancienneté de plus de 10 ans.
  5. Affichez le nom, prénom, fonction et le salaire des employés dont le nom commence par la lettre « D  ».
  • Solutions
  1. Affichez le nom, prénom, fonction et salaire des employés qui ont un salaire compris entre 2500 et 3500.
				
					
 SELECT nom, prenom, fonction, salaire
FROM employes
WHERE salaire BETWEEN 2500 AND 3500;

				
			

Résultat affiché :

Cette requête sélectionne les colonnes nom, prenom, fonction et salaire des employés dont le salaire se situe entre 2500 et 3500. L’opérateur BETWEEN permet d’indiquer une plage de valeurs.

Tableau de résultats d'une requête SELECT SQL
  1. Affichez le nom de la société, l’adresse, le téléphone et la ville des clients qui habitent à Toulouse, à Strasbourg, à Nantes ou à Marseille.
				
					
 SELECT societe, adresse, telephone, ville
FROM clients
WHERE ville IN ('Toulouse','Strasbourg','Nantes','Marseille');

				
			

Résultat affiché :

Cette requête récupère les colonnes societe, adresse, telephone et ville des clients qui résident dans l’une des villes spécifiées grâce à l’opérateur IN, qui permet de vérifier si une valeur se trouve dans une liste.

Table de données exemple pour requête SQL SELECT
  1. Affichez le nom, prénom, fonction et le salaire des représentants qui sont en activité depuis le « 10/10/1993 ».
				
					
 SELECT nom, prenom, fonction, salaire
FROM employes
WHERE fonction = 'Représentant(e)' AND date_embauche >= '10/10/1993';

				
			

Résultat affiché :

Cette requête sélectionne les employés ayant la fonction de ‘Représentant(e)’ et qui ont été embauchés à partir du 10 octobre 1993. L’opérateur AND combine deux conditions.

Tableau des résultats d'une commande SELECT SQL

4 . Affichez le nom, prénom, fonction et le salaire des employés qui sont âgés de plus de 45 ans ou qui ont une ancienneté de plus de 10 ans.

				
					
 SELECT nom, prenom, fonction, salaire
FROM employes
WHERE (GETDATE() - date_naissance)/365 > 45
AND (GETDATE() - date_embauche)/365 > 10;

				
			

Résultat affiché :

Cette requête utilise les dates de naissance et d’embauche pour calculer l’âge et l’ancienneté des employés. L’opérateur OR permet de sélectionner ceux qui satisfont au moins une des deux conditions.

Tableau SQL illustrant la commande SELECT
  1. Affichez le nom, prénom, fonction et le salaire des employés dont le nom commence par la lettre « D  ».
				
					
 SELECT nom, prenom, fonction, salaire
FROM employes
WHERE nom LIKE 'D%';

				
			

Résultat affiché :

Cette requête récupère les employés dont le nom commence par ‘D’. L’opérateur LIKE avec le symbole % est utilisé pour faire correspondre tout ce qui suit la lettre ‘D’.

Table SQL montrant noms, fonctions et salaires

Exercice 4 :

Énoncé de l’exercice

  1. Affichez le nombre de clients par pays.
  2. Affichez la masse salariale (SOMME des salaires) pour chaque fonction des employés.
  3. Affichez les employés par ordre alphabétique de leur nom et du plus grand salaire au plus petit.
  • Solutions
  1. Affichez le nombre de clients par pays.
				
					
 SELECT pays, COUNT(*)
FROM clients
GROUP BY pays;

				
			

Résultat affiché :

Cette requête compte le nombre de clients dans chaque pays. La fonction COUNT(*) est utilisée pour compter toutes les entrées et GROUP BY regroupe les résultats par pays.

Tableau SQL avec pays et valeurs num.
  1. Affichez la masse salariale (SOMME des salaires) pour chaque fonction des employés.
				
					
 SELECT fonction, SUM(salaire)
FROM employes
GROUP BY fonction;

				
			

Résultat affiché :

Cette requête calcule la somme des salaires pour chaque fonction des employés. La fonction SUM(salaire) additionne les salaires, et GROUP BY regroupe les résultats par fonction.

Tableau des salaires par fonction SQL
  1. Affichez les employés par ordre alphabétique de leur nom et du plus grand salaire au plus petit.
				
					
 SELECT *
FROM employes
ORDER BY nom, salaire DESC;

				
			

Résultat affiché :

Cette requête affiche tous les employés, triés d’abord par leur nom en ordre alphabétique, puis par salaire en ordre décroissant. L’opérateur ORDER BY est utilisé pour spécifier les colonnes de tri.

Exemple de tableau SQL avec colonnes employés et salaires

Exercice 5 :

Énoncé de l’exercice

Expression CASE :

  • Simulez une augmentation du salaire en fonction de la fonction des employés en affichant le nom, prénom, fonction et salaire :

Si « Vice-président » : augmentation de 10%

Si « Chef des ventes » : augmentation de 20%

Si « Représentant(e) » : augmentation de 10% + commission

Sinon : augmentation de 10%

  • Solution
				
					
 SELECT nom, prenom, salaire,
CASE fonction
WHEN 'Vice-président' THEN salaire * 1.1
WHEN 'Chef des ventes' THEN salaire * 1.2
WHEN 'Représentant(e)' THEN (salaire * 1.1) + commission
ELSE salaire * 1.1
END AS 'Simulation_Salaire'
FROM employes;

				
			
Table SQL illustrant une simulation de salaire

Explication de la solution

  • SELECT nom, prenom, salaire :On sélectionne les colonnes nom, prenom, et salaire de la table employes.
  • CASE fonction :Cette expression évalue la colonne fonction pour déterminer l’augmentation du salaire :WHEN ‘Vice-président’ THEN salaire * 1.1: Si la fonction est « Vice-président », le salaire est augmenté de 10%.WHEN ‘Chef des ventes’ THEN salaire * 1.2: Si la fonction est « Chef des ventes », le salaire est augmenté de 20%.WHEN ‘Représentant(e)’ THEN (salaire * 1.1) + commission: Si la fonction est « Représentant(e) », le salaire est augmenté de 10% et ajoute une commission.ELSE salaire * 1.1: Pour toutes les autres fonctions, le salaire est augmenté de 10%.
  • END AS ‘Simulation_Salaire’ :Le résultat de l’expression CASE est renvoyé sous le nom « Simulation_Salaire ».

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

FAQ

Comment utiliser la commande SELECT pour les requêtes monotables?
La commande SELECT est essentielle pour interroger des données dans une base de données. Pour des requêtes monotables, elle permet de récupérer des informations précises d’une seule table à la fois. En utilisant des clauses comme WHERE, GROUP BY et ORDER BY, vous pouvez affiner vos résultats pour extraire des données spécifiques et pertinentes.
Quels sont les éléments clés de la syntaxe SELECT?
La syntaxe SELECT se compose de plusieurs éléments clés : la clause SELECT pour indiquer les colonnes à récupérer, DISTINCT pour éliminer les doublons, FROM pour spécifier la table, WHERE pour filtrer les résultats, GROUP BY pour regrouper les données, HAVING pour filtrer après regroupement, et ORDER BY pour trier les résultats. Chacun de ces éléments permet de construire des requêtes SQL puissantes et précises.
Comment formuler des requêtes efficaces avec SELECT?
Pour formuler des requêtes efficaces avec SELECT, commencez par identifier les colonnes nécessaires et utilisez DISTINCT pour éviter les doublons. Appliquez des conditions spécifiques avec WHERE pour filtrer les données. Utilisez GROUP BY pour regrouper et effectuer des calculs d’agrégation, et ORDER BY pour trier les résultats selon vos besoins. Ces techniques vous aideront à extraire des informations précises et pertinentes.
Pourquoi est-il important de pratiquer des exercices SQL?
Pratiquer des exercices SQL est crucial pour renforcer vos compétences en manipulation de bases de données. Cela vous permet de comprendre comment appliquer des concepts théoriques dans des scénarios réels, d’améliorer votre capacité à résoudre des problèmes et d’optimiser vos requêtes pour une meilleure performance. La pratique vous aide également à vous familiariser avec les subtilités et les particularités de la syntaxe SQL.
Comment aborder la résolution d'exercices SQL avancés?
Aborder des exercices SQL avancés nécessite une compréhension claire des concepts de base et des éléments de syntaxe. Commencez par analyser l’énoncé pour identifier les exigences, puis décomposez chaque étape de la requête. Testez vos solutions avec des données d’exemple pour valider vos résultats. Avec de la pratique, vous pourrez aborder des problèmes complexes avec confiance et efficacité.

Conclusion

En explorant ces exercices sur la commande SELECT, vous avez acquis des compétences pratiques essentielles pour manipuler des bases de données efficacement. Quelle sera votre prochaine étape pour approfondir vos connaissances en SQL?

ÉTIQUETÉ : Langage SQL
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Exercices Pratiques sur la Commande SELECT SQL

© Alphorm - Tous droits réservés