avril
2012
La commande qui permet de trouver des données est le SELECT sa syntaxe générique est la suivante :
colonnes demandées c’est-à-dire les colonnes spécifiées dans le liste des colonnes et qui sont présentent dans la ou les tables spécifiées dans la clause FROM et les lignes de cette ou ces tables qui correspondent au filtre indiqué dans la clause WHERE.
Pour spécifier des colonnes :
On peut renommer les colonnes en utilisant ce que l’on appelle un alias :
Comme vous pouvez le voir le mot clé AS est optionnel.
Si on veut avoir toutes les colonnes de la tables il suffit de remplacer les noms de colonne par * mais à ce moment là bien sûr il n’est plus possible de renommer les colonnes. Il faut aussi savoir qu’en termes de performance le fait d’énoncer chaque colonne est plus performant que d’utiliser *.
Utilisez la clause WHERE pour filtrer les lignes.
Voici les différentes possibilités pour filtrer
Opérateur de comparaison
Comparateur de chaine
Filtre sur une chaine de caractère qui commence par « lau » (c’est la lettre % qui dit « peut importe la suite »).
Expression Returns
Opérateurs logique: combinaison de condition
On utilisera l’opérateur And pour retrouver les lignes qui correspondent à tous les critères et l’opérateur OR pour celle qui correspondent au moins à un des critères.
Opérateur logique: négations
On utilise Not pour renvoyer les lignes qui ne correspondent pas à la condition qui suit.
Echelle de valeur
On a toutes les lignes dont l’id est compris entre 1 et 3.
On a toutes les lignes dont l’id n’est pas compris entre 1 et 2.
Liste de valeurs
On a toutes les lignes dont la colonne spécifiée possède une des valeurs entre parenthèse.
Valeurs inconnues
Toutes les lignes où le prénom est NULL.
Toutes les lignes où le prénom n’est pas NULL.
Formater les résultats.
Ordonner les résultats
La clause ORDER BY permet d’ordonner les résultats de façon croissante (ASC) ou décroissante (DESC).
Attention :
- SQL Server ne garantit pas un ordre dans le jeu de résultat, sauf si l’ordre est spécifié avec une clause ORDER BY.
- SQL Server trie dans l’ordre croissant par défaut.
- Les colonnes qui sont incluse dans la clause ORDER BY ne doivent pas apparaître obligatoirement dans la liste sélectionnée.
- Vous pouvez trier par nom de colonne, colonne de valeurs calculées, ou des expressions.
- Vous ne pouvez pas utiliser de colonnes texte, image ou nText dans la clause ORDER BY.
- Utiliser des index appropriés peut optimiser la clause ORDER BY.
Le même résultat aurait pus être obtenu avec la requête suivante :
Eliminer les lignes dupliquées
Si vous voulez avoir une liste de valeurs unique, utilisez la clause DISTINCT pour éliminer les lignes dupliquées dans votre Ensemble de résultats.
Attention :
- La combinaison de valeur dans un ensemble de résultats peut déterminer des lignes distinctes donc les lignes qui contiennent une combinaison unique seront retournées dans l’ensemble de résultat.
Exemple :
Sans la clause DISTINCT on a 504 lignes, Avec on a 286 lignes.
Changer les noms de colonnes ou utiliser des littéraux
On peut avoir un ensemble de résultat plus lisible lorsqu’on utilise la possibilité de renommer des colonnes ou que l’on insère une colonne non nommée dans laquelle on met un littéral.
Exemple :
Ici ‘Mon Nom : ‘ est un littéral qui permet de présenter chaque ligne. On a renommé les colonnes « Prenom » et « Employeur » permettant ainsi l’utilisation d’accent et de majuscule qui sont rarement utilisés pour des noms de colonnes dans une base.
Articles récents
- [SharePoint 2010]Faire un workflow approbation sous SharePoint foundation 2010
- [SQL Server]Saga transact-SQL Episode 6 : Les sous requêtes
- [SQL Server]Saga transact-SQL Episode 5 : Les jointures de tables
- [SQL Server]Saga transact-SQL Episode 4 : Grouper et organiser les données
- [SQL Server]Saga transact-SQL Episode 3 : Retrouver les données avec un SELECT