Syntaxe
SELECT [ALL|DISTINCT] select-item,...|* FROM table-specification,... [WHERE search-condition] [GROUP BY grouping-column,...] [HAVING search-condition] [ORDER BY sort-specification,...]
|
Paramètres
Nom |
Description |
select-item |
Ce paramètre permet d'indiquer les éléments à sélectionner. |
table-specification |
Ce paramètre permet d'indiquer la table ou les tables à sélectionner. |
search-condition |
Ce paramètre permet d'indiquer la condition de recherche. |
grouping-column |
Ce paramètre permet d'indiquer sous quel nom de colonne doit être regrouper les colonnes. |
search-condition |
Ce paramètre permet d'indiquer la recherche à effectuer. |
sort-specification |
Ce paramètre permet d'indiquer les noms des colonnes sous lequel les données doivent être trié. |
Description
Cette instruction permet de sortie une liste de données à partir d'une ou plusieurs tables.
L'instruction SELECT demande les données d'une base de données et retourne sous la forme des résultats de la requête.
La syntaxe de l'instruction SELECT est divisé en 6 clauses. Les clauses SELECT et FROM de l'instruction sont obligatoires
si vous traiter une ou plusieurs tables. Les 4 clauses restantes sont facultatives. Vous devez les inclure pas dans une instruction SELECT
que lorsque vous souhaitez utiliser les fonctions fournies. La liste suivante résume la fonction de chaque clause :
- La clause SELECT répertorie les éléments de données à extraire par l'instruction SELECT. Les éléments peuvent être des colonnes de la base de données ou des colonnes à calculer par SQL lorsqu'il exécute la requête.
- La clause FROM répertorie les tables contenant les données à récupérer par la requête.
- La clause WHERE indique à SQL d'inclure uniquement certaines lignes de données dans les résultats de la requête. Le search-condition est utilisé pour spécifier les lignes souhaitées.
- La clause GROUP BY spécifie une requête récapitulative. Au lieu de générer une ligne de résultats de requête pour chaque ligne de données de la base de données, une requête récapitulative regroupe des lignes similaires et génère une ligne récapitulative de résultats de requête pour chaque groupe.
- La clause HAVING indique à SQL d'inclure uniquement certains groupes produits par la clause GROUP BY dans les résultats de la requête. Comme la clause WHERE, il utilise un search-condition pour spécifier les groupes souhaités.
- La clause ORDER trie les résultats de la requête en fonction des données d'une ou de plusieurs colonnes. S'il est omis, les résultats de la requête ne sont pas triés.
Remarques
- La clause SELECT : La clause SELECT commençant chaque instruction SELECT spécifie les éléments de données à récupérer par la requête.
Les éléments sont généralement spécifiés par une liste de sélection, une liste de select-item séparés par des virgules. Chaque élément sélectionné dans
la liste génère une seule colonne de résultats de requête, dans l'ordre de gauche à droite. Un élément sélectionné peut être l'un des suivants :
Un nom de colonne, identifiant une colonne de la ou des table(s) nommée(s) dans la clause FROM. Lorsqu'un nom de colonne apparaît en
tant qu'élément de sélection, le SQL prend simplement la valeur de cette colonne dans chaque ligne de la table de base de données et la place
dans la ligne correspondante des résultats de la requête.
Une constante, spécifiant que la même valeur constante doit apparaître dans chaque ligne des résultats de la requête.
Une expression SQL indiquant que le SQL doit calculer la valeur à placer dans les résultats de la requête, dans le style spécifié par l'expression.
- La clause FROM : La clause FROM comprend le mot-clef FROM, suivi d'une liste de spécifications de table séparées par des
virgules. Chaque spécification de table identifie une table contenant des données à récupérer par la requête. Les tables sont appelées tables sources
de la requête (et de l'instruction SELECT) car elles constituent la source de toutes les données contenues dans les résultats de la requête.
- Résultats de la requête : Le résultat d'une requête SQL est toujours une table de données, tout comme les tables
de la base de données, ou le résultat d'une fonction. Si vous tapez une instruction SELECT à l'aide du SQL interactif, le SGBD
affiche les résultats de la requête sous forme de tableau sur la console de votre système d'exploitation. Si un programme envoie une requête au SGBD
à l'aide du SQL programmatique, la table des résultats de la requête est renvoyée au programme. Dans les 2 cas, les résultats de la requête ont
toujours le même format tabulaire, ligne / colonne qu'il s'agit d'un tableau à plusieurs colonnes et plusieurs lignes.
- Colonnes calculées : En plus des colonnes dont les valeurs proviennent directement de la base de données, une requête SQL peut inclure
des colonnes calculées dont les valeurs sont calculées à partir des valeurs de données entreposés des les tables. Pour demander une colonne calculée, vous
spécifiez une expression SQL dans la liste de sélection. Les expressions SQL peuvent impliquer des additions, des soustractions, des
multiplications et des divisions. Vous pouvez aussi indiquer des fonctions comme ABS, AVG,... Vous pouvez également utiliser des parenthèses pour créer des expressions plus
complexes. Bien entendu, les colonnes référencées dans une expression arithmétique doivent avoir un type numérique. Si vous essayez d'ajouter, de
soustraire, de multiplier ou de diviser des colonnes contenant des données texte, le SQL signalera une erreur.
- Sélection de toutes les colonnes (SELECT *) : parfois, il est pratique d'afficher le contenu de toutes les colonnes d'un tableau. Cela peut être particulièrement utile lorsque vous rencontrez une nouvelle base de données et que vous souhaitez comprendre rapidement sa structure et les données qu'elle contient. Pour plus de commodité, SQL vous permet d'utiliser un astérisque (*) à la place de la liste de sélection comme abréviation de «toutes les colonnes».
Dernière mise à jour : Samedi, le 9 mars 2019