Voici la structure de base de l'instruction Select :
Select
clause
From clause
Where clause
Group by clause
Having clause
Order by clause Bien que l'instruction ci-dessus ne reflète pas
la syntaxe complète de Select, elle suffira à nous occuper un certain temps.
Considérons l'instruction Select suivante
Utilisation de l’instruction Select
:
Select CuName, CuSts
From Customer
Cette instruction génère une table résultat (fichier) composée de deux
colonnes (champs) CuName et CuSts. Notez que l’on peut sélectionner tous les champs
de la table sous-jacente (Customer) en utilisant le symbole astérisque (*) comme
suit :
Select *
From Customer
Bien qu’on puisse penser que la clause Select se résume à récupérer
une liste de colonnes sélectionnées ou l’ensemble des colonnes d’une table sous-jacente,
elle est beaucoup plus puissante qu’il n’y paraît. On pourrait par exemple utiliser
l’instruction Select ci-dessous pour effectuer certaines analyses. L’exemple proposé
calcule la moyenne des arriérés dus par les clients de la base Customer :
Select
CuNum,
( CuOv30 + CuOv60 + CuOv90 )/ 3 as AvgDue
From Customer
Ce type d’analyse peut être utile. Toutefois, du fait de la manière
dont le SQL calcule les résultats intermédiaires, il se peut que le format du
résultat renvoyé ne convienne pas. Ainsi, la figure 1 présente les résultats obtenus
après exécution de la requête SQL susmentionnée.
Comme le montre la figure 2, cette requête génère des résultats plus lisibles
en SQL. La fonction Decimal est une fonction scalaire. Autrement dit, elle
peut être appliquée à des colonnes ou expressions distinctes. Les deuxième et
troisième paramètres de la fonction Decimal (9 et 2 dans notre exemple) définissent
respectivement le nombre total de chiffres et le nombre de chiffres affichés après
la virgule.
Toute aussi utile, la fonction Digits est une fonction scalaire qui convertit
une expression numérique en chaîne de caractères. L’une des raisons qui poussent
à effectuer de telles conversions est que la fonction Substr (substring) ne peut
extraire qu’un sous-ensemble d’une chaîne de caractères (et non une expression
numérique). Supposons que l’on dispose d’une table nommée OrdHdr (order header)
qui possède deux colonnes : OhNum (order number) et OhShDt (order ship date).
Supposons toujours qu’OhShDt représente un champ date de type décimal condensé
8,0 et de format AAAAMMJJ. Si on souhaite n’afficher que le numéro d’ordre et
le chiffre correspondant au mois, on peut exécuter la requête suivante :
Select
OhNum, Substr( Digits( OhShDt), 5, 2 )
as Month
From OrdHdr
Cette requête génère un résultat formaté et présenté dans la figure
3. La fonction Digits convertit le champ numérique OhShDt en chaîne de caractères.
Le deuxième argument de Substr indique la position de départ de la sous-chaîne
de caractères. Etant donné qu’OhShDt est au format AAAAMMJJ, une position de départ
de 5 fait référence au premier chiffre du champ mois. Le troisième et dernier
paramètre représente la longueur de la sous-chaîne (2 dans notre exemple) correspondant
au champ mois à deux chiffres.
La prochaine fois, nous continuerons à explorer la clause Select. A bientôt !
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
- IBM i célèbre ses 25 ans
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Activer la mise en veille prolongée dans Windows 10
Les plus consultés sur iTPro.fr
- Communication d’entreprise à l’ère de l’IA : fragmentation, Shadow AI et perte de contrôle
- Pourquoi les outils de sécurité ne suffisent plus face aux angles morts de la détection
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- L’analytique prédictive au service de la décarbonation en France
Articles les + lus
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
Les coûts cachés des merge requests générées par l’IA
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
À la une de la chaîne Tech
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
- Les coûts cachés des merge requests générées par l’IA
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
