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

Rapport mondial 2025 sur la réponse à incident
Dans ce nouveau rapport, les experts de Palo Alto Networks, Unit 42 livrent la synthèse des attaques ayant le plus impacté l'activité des entreprises au niveau mondial. Quel est visage actuel de la réponse aux incidents ? Quelles sont les tendances majeures qui redessinent le champ des menaces ? Quels sont les défis auxquels doivent faire face les entreprises ? Découvrez les top priorités des équipes de sécurité en 2025.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Les PME attendent un meilleur accès aux données d’émissions de la part des fournisseurs
- Fraude & IA : Dr Jekyll vs. Mr Hyde, qui l’emporte ?
- Gestion du cycle de vie des outils de cyberdéfense : un levier de performance pour les entreprises
- Top 6 du Cyber Benchmark Wavestone 2025
- La voix met le clavier au placard : une mutation incontournable pour les entreprises
