> Tech > Utilisation de l’instruction Select

Utilisation de l’instruction Select

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

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

:

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

Guide de technologie 5G pour l’entreprise

Guide de technologie 5G pour l’entreprise

Pourquoi la 5G est-elle faite pour votre entreprise ? La 5G peut améliorer la vitesse, la fiabilité et la capacité de votre réseau, permettant ainsi une meilleure collaboration, une productivité accrue et une prise de décision plus rapide. Notre livre blanc " The Big Book of Enterprise 5G" vous fournit les informations stratégiques dont vous avez besoin pour prendre des décisions éclairées et préparer votre entreprise à prospérer dans l'ère de la 5G. Cradlepoint, part of Ericsson est le leader mondial des solutions de réseau sans fil 4G LTE et 5G fournies via le cloud. Connectez vos employés, lieux et objets avec la 4G LTE et la 5G pour un WAN sans fil d'entreprise.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010