Home

Rubriques sur la Sélection de Données et le Stockage

 

Sélection de Données et des Expressions

 

L'Utilisation d'un Nom d'Alias de Colonne

Dans votre instruction SELECT, après avoir spécifié la ou les colonne (s), lorsque vous exécutez l'instruction SQL, le nom de chaque colonne apparaîtra comme l'en-tête de colonne. Heureusement, vous pouvez afficher n'importe quelle chaîne de votre choix pour un en-tête de colonne.

Pour spécifier un en-tête de colonne autre que le nom de la colonne, si vous utilisez le concepteur de requêtes, tapez la chaîne souhaitée dans la colonne alias correspondant à la colonne. Voici un exemple :

Alias Name of a Column

Si vous utilisez une fenêtre de requête ou si vous écrivez votre instruction SELECT, sur le côté droit du nom de colonne, tapez AS suivi du nom de l'en-tête de la colonne souhaitée. Si l'en-tête de colonne souhaitée est en un mot, vous pouvez l'entrer simplement. Voici un exemple :

SELECT FirstName, 
       LastName, 
       HomePhone AS PhoneNumber, 
       ParentsNames AS NamesOfParents 
FROM   Students ; 
GO

Si vous souhaitez que l'en-tête de la colonne s'affiche avec plusieurs mots, vous pouvez fournir les mots sous la forme d'une chaîne unique entre-guillemets ou entre les crochets: [et]. Voici un exemple :

SELECT FirstName AS [First Name], 
       LastName AS [Last Name], 
       HomePhone AS [Phone Number], 
       ParentsNames AS [Nomes of Parents] 
FROM   Students ; 
GO

Cela donnerait :

The Alias Name of a Column

En qualifiant chaque colonne, l'instruction ci-dessus peut également être écrite comme suit :

SELECT Students.FirstName AS [Firs Name], 
 
       Students.LastName AS [Last Name], 
       Students.HomePhone AS [Phone Number], 
       Students.ParentsNames AS [Names of Parents] 
FROM   Students ; 
GO

Elle peut également être écrite comme suit :

SELECT dbo.Students.FirstName AS [First Name], 
       dbo.Students.LastName AS [Last Name], 
       dbo.Students.HomePhone AS [Phone Number], 
       dbo.Students.ParentsNames AS [Name of Parents] 
FROM   Students ; 
GO

Elle peut également être écrite comme suit :

SELECT std.FirstName AS [First Name], 
       std.LatName AS [Last Name], 
       std.HomePhone AS [Phone Number], 
       std.ParentsNames AS [Names of Parents] 
FROM   Students std; 
GO

Practical LearningEtude pratique : Utilisation des noms d'alias

  1. Démarrez Microsoft SQL Server et connectez-vous.
    Si vous ne l'avez pas encore fait, créez la RealEstate1 database
  2. A partir de l'Explorateur d'objets, développez des bases de données
  3. Développez RealEstate1, puis développez Tables
  4. Cliquez avec le bouton droit de la souris sur dbo.Properties, puis cliquez sur Modifier les lignes Top 200
  5. Dans la barre d'outils du Concepteur de requêtes, cliquez sur le bouton Show Diagram PaneShow Diagram Pane, le bouton Show Criteria PaneShow Criteria Pane et le bouton Show SQL Pane Show SQL Pane
  6. Dans la section tâches, supprimez les cases à cocher de tous les champs
  7. Dans la section critères, cliquez sous l'en-tête de colonne, cliquez sur la flèche de la zone de liste déroulante et sélectionnez PropertyNumber
  8. Appuyez sur la touche de tabulation, tapez Prop # et appuyez sur la touche Entrée
  9. Dans la section SQL, modifiez l'instruction comme suit :
    SELECT PropertyNumber AS [Prop #], 
           ZIPCode AS Location, 
           YearBuilt AS [Year Built], 
           PropertyType AS Type, 
           Bedrooms AS Beds, 
           Bathrooms AS Baths, 
           MarketValue AS Value
     
    FROM   Properties
  10. Cliquez avec le bouton droit de la souris quelque part dans la fenêtre, puis cliquez sur Exécuter SQL

Une combinaison ou Expression des colonnes

En utilisant le mot-clé SELECT, nous avons appris à créer une liste de colonnes isolées. Ces colonnes ont été rendues séparées les unes des autres. Au lieu d'avoir des colonnes séparées, vous pouvez les combiner afin de créer une chaîne ou une valeur qui est en fait une expression. Par exemple, vous pouvez combiner un prénom et un nom pour produire un nom complet comme une expression. Une autre expression peut utiliser une date sur la table, y ajouter un numéro pour obtenir une date sur un autre jour. Une expression peut également servir pour effectuer un calcul sur au moins deux colonnes telles que des employés, les heures de travail hebdomadaires multipliées par leur salaire horaire pour obtenir leur salaire hebdomadaire.

L'opérateur couramment utilisé est le complément. Il peut servir à combiner deux ou plusieurs chaînes pour obtenir une nouvelle. Voici un exemple :

SELECT FirstName +''+ LastName 
FROM Students ; 
GO

Cela donnerait :

A Combination or Expression of Columns

L'addition peut également être utilisée sur les valeurs numériques. Tous les autres opérateurs arithmétiques peuvent être utilisés. Par exemple, vous pouvez multiplier une valeur d'heures de travail par semaine pour un salaire horaire pour obtenir un salaire hebdomadaire. La déclaration d'une telle expression peut être écrite comme suit :

SELECT WeeklyHours * HourlySalary  
 
FROM Payroll

Vous pouvez également créer un alias pour une expression pour lui donner le nom de votre choix. Pour le faire, sur le côté droit de l'expression, tapez AS suivi du nom. Comme nous avons appris précédemment, si l'alias est plus d'un mot, incluez-le dans les apostrophes ou les crochets. Voici un exemple :

SELECT FirstName +''+ LastName AS'Full Name', 
       EmrgName +''+ EmrgPhone AS [Emergency Contact] 
FROM   Students ; 
GO

Cela donnerait :

Expressions

Practical LearningEtude pratique : Sélection avec les expressions

  1. Sélectionnez l'instruction dans la section SQL et remplacez-la avec :
    SELECT PropertyType + N'in' + City + N ', State + N', in '+ Condition + 
           N'condition. Equipped with ' + CAST (Bedrooms AS nvarchar(20)) + 
           N'bedrooms', + CAST(bathrooms AS nvarchar(20)) + 
           N' bathrooms. Built in ' + CAST (YearBuilt AS nvarchar(20)) + 
           N'and selling for' + CAST(MarketValue AS nvarchar(20)) 
           AS [Property Description] 
    FROM   Properties
  2. Cliquez avec le bouton droit de la souris quelque part dans la fenêtre, puis cliquez sur Exécuter SQL

L'opérateur d'affectation

Si vous créez simplement une expression régulière en utilisant des opérateurs arithmétiques, la nouvelle colonne n'aurait pas de nom. Le SQL vous permet de spécifier un nom pour une expression ou un nom différent pour n'importe quelle colonne lors de l'analyse de données. Cette opération est effectuée à l'aide de l'opérateur d'affectation "=".

Pour modifier le nom d'une colonne lors de l'analyse de données, sur le côté droit de SELECT, tapez le nom souhaité, suivi par l'opérateur d'affectation, suivi du nom réel de la colonne. Voici un exemple :

SELECT EmergencyName = EmrgName 
FROM Students ; 
GO

Si vous souhaitez utiliser plusieurs colonnes, tapez chacune et attribuez-lui le nom souhaité, séparez-les par des virgules. Voici un exemple :

SELECT LastName, 
       EmergencyName = EmrgName, 
       EmergencyPhone = EmrgPhone 
FROM   Students ; 
GO

Cela donnerait :

Assignment

Vous pouvez également inclure le nom entre guillemets ou les crochets. Voici des exemples :

SELECT LastName +',N'+ FirstName AS [Full Name], 
       [Emergency Name] = EmrgName, 
       'Emergency Phone' = EmrgPhone 
FROM   Students ; 
GO

Cela donnerait :

Assignment in an Expression

 

 
 
  
  

Tri des enregistrements

 

Le tri des enregistrements dans une fenêtre de requête ou la requête du concepteur

La liste des enregistrements que nous obtenons avec une instruction SELECT est présentée dans l'ordre dans lequel les enregistrements apparaissent dans le tableau. Le SQL permet d'organiser les enregistrements par ordre alphabétique, par ordre chronologique ou en ordre numérique incrémentiel. Après avoir sélectionné une série de colonnes, vous pouvez répertorier les enregistrements suivant un ordre alphabétique d'un champ spécifique.

Pour obtenir un alphabétique ou un ordre incrémentiel des enregistrements, vous devez laisser le moteur de base de données pour savoir quel champ serait utilisé comme référence.

Spécifier l'ordre, si vous utilisez une fenêtre de requête ou dans le concepteur de requêtes :

  • Dans la section de schéma, vous pouvez cliquez avec le bouton droit de la souris sur un champ et sélectionnez un tri croissant ou tri décroissant
  • Dans la section Critères de la fenêtre, sous la colonne de Sort Type, cliquez sur la case correspondante de la colonne souhaitée. Cela révélerait que c'est une zone de liste déroulante. Cliquez sur la flèche de cette zone de liste déroulante, puis faites votre choix entre croissant et décroissant :

Using the Table Window

Si vous sélectionnez croissant ou tri croissant, la liste des enregistrements basés sur le type de la colonne sélectionnée serait réarrangée :

  • Si la colonne est basée sur le texte (char, varchar et leurs variantes), les enregistrements pourraient être classés par ordre alphabétique
  • Si la colonne est la date ou basée sur le temps (date, heure ou datetime2), les enregistrements pourraient être disposés dans l'ordre chronologique
  • Si la colonne est basée sur le nombre, les enregistrements pourraient être classés par ordre incrémentiel
  • Si la colonne est basée sur la valeur booléenne (bits), les FAUX enregistrements apparaitraient les premiers

Si vous sélectionnez décroissant ou tri décroissant, la liste des enregistrements basés sur le type de la colonne sélectionnée serait réarrangée :

  • Si la colonne est basée sur le texte (char, varchar et leurs variantes), les enregistrements pourraient être classés par ordre alphabétique inverse
  • Si la colonne est la date ou basée sur le temps (date, heure ou datetime2), les enregistrements pourraient être disposés dans l'ordre chronologique inverse
  • Si la colonne est basé sur le nombre, les enregistrements pourraient être classés par ordre décrémental
  • Si la colonne est basée sur la valeur booléenne (bits), les VRAIS enregistrements apparaitraient les premiers

Après avoir sélectionné le type de tri souhaité, vous pouvez exécuter l'instruction SQL.

Practical LearningEtude pratique : Présentation de tri des enregistrements

  1. Dans la section SQL, supprimez l'instruction entière
  2. Dans la section de tâches, cliquez sur les cases à cocher de YearBuilt, PropertyType, Bedrooms, Bathrooms et MarketValue
  3. Dans la section SQL, modifiez l'instruction comme suit :
    SELECT YearBuilt AS [Year Built], 
           PropertyType AS [Type], 
           Bedrooms AS [Baths], 
           MarketValue AS [Value] 
    FROM Properties

Le Tri des Enregistrements dans le SQL

Dans SQL, pour spécifier l'ordre de tri, utilisez l'expression ORDER BY. La syntaxe utilisée serait :

SELECT  What FROM WhatObject ORDER BY WhatField ;

La colonne qui a servi de base doit être reconnue dans le cadre des colonnes sélectionnées. Par exemple, pour obtenir une liste des étudiants dans l'ordre alphabétique, fondée sur la colonne nom, vous pouvez utiliser l'instruction suivante :

SELECT FirstName, 
       LastName, 
       Gender, 
       ParentsNames, 
       SPHome 
FROM Students 
ORDER BY LastName ; 
GO

Cela donnerait :

Using the SQL

De la même façon, vous pouvez obtenir la liste des filles suivie de la liste des garçons en ordonnant la liste par ordre alphabétique selon le sexe. L'instruction pour produire cela peut être écrite comme suit :

SELECT FirstName, LastName, Gender, EmailAddress 
FROM   Students 
ORDER BY genre ; 
GO

Autre exemple, pour répertorier tous les étudiants, classés par ordre alphabétique par leur nom de famille, vous pouvez modifier l'instruction comme suit :

SELECT * FROM Students 
ORDER BY LastName ; 
GO

Par défaut, les enregistrements sont triés en ordre croissant. Néanmoins, l'ordre croissant est contrôlé à l'aide du mot-clé ASC spécifié après le champ de la base. Par exemple, pour trier les derniers noms dans l'ordre croissant, y compris les noms et prénoms, vous utiliseriez une instruction comme suit :

SELECT * FROM Students 
ORDER BY LastName ASC ; 
GO

D'autre part, si vous souhaitez trier les enregistrements dans l'ordre inverse, vous pouvez utiliser plutôt le mot-clé DESC. Il produit le résultat contraire à l'effet de l'ASC. Voici un exemple :

SELECT FirstName, 
       LastName, 
       Gender, 
       ParentsNames, 
       SPHome 
FROM   Students 
ORDER BY LastName DESC ; 
GO

Cela donnerait :

Sorting Records

Practical LearningEtude pratique : Tri des Records

  1. Pour afficher la liste des propriétés basées sur des valeurs, à partir de l'inconnu suivi du moins cher d'eux, dans la section critères, cliquez sur la case sous type de tri correspondant à MarketValue et sélectionnez Croissant :
    SELECT YearBuilt AS [Year Built], 
           PropertyType AS [Type], 
           Bedrooms AS [Beds], 
           Bathrooms AS [Baths], 
           MarketValue AS [Value] 
    FROM Properties
    ORDER BY MarketValue
  2. Cliquez avec le bouton droit de la souris quelque part dans la fenêtre, puis cliquez sur Exécuter SQL
  3. Pour afficher la liste des propriétés chronologiques commençant par la plus récente, dans la section SQL, modifiez l'instruction comme suit :
    SELECT YearBuilt AS [Year Built], 
           PropertyType AS [Type], 
           Bedrooms AS [Beds], 
           Bathrooms AS [Baths], 
           MarketValue AS [Value] 
    FROM Properties 
    ORDER BY YearBuilt DESC
  4. Cliquez avec le bouton droit de la souris quelque part dans la fenêtre, puis cliquez sur Exécuter SQL
 
 
   
 

Précédent Copyright © 2010 Yevol Suivant