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
- Afficher les icônes cachées dans la barre de notification
- Activer la mise en veille prolongée dans Windows 10
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Et si les clients n’avaient plus le choix ?
Les plus consultés sur iTPro.fr
- Les fuites de données explosent en France, désormais pays le plus touché d’Europe
- L’IA accélère les attaques et expose les identités non gouvernées
- Identités machines et supply chain : l’erreur stratégique des entreprises en cybersécurité
- WordPress publie une mise à jour de sécurité d’urgence pour corriger wp2shell
Articles les + lus
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
À la une de la chaîne Tech
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
