Maison > Article > base de données > Quelle est la structure syntaxique de l’instruction select en SQL ?
La structure syntaxique de l'instruction select en SQL est la suivante : "SELECT select_list [ INTO..] FROM table_name [ WHERE...] [ GROUP BY...][ HAVING...][ ORDER BY. .. ];".
L'instruction SELECT se compose d'une série flexible de clauses qui, ensemble, déterminent quelles données sont récupérées. En plus d'afficher des informations sur les tables et les vues dans des bases de données ordinaires, les utilisateurs peuvent utiliser l'instruction SELECT pour afficher les informations système SQL Server. Avant d'introduire l'utilisation de l'instruction SELECT, il est nécessaire de présenter la structure grammaticale de base et le processus d'exécution de l'instruction SELECT.
La structure grammaticale de l'instruction SELECT
Bien que la syntaxe complète de l'instruction SELECT soit plus complexe, ses principales clauses peuvent être résumées comme suit :
SELECT select_list [ INTO new_table] FROM table_name [ WHERE search_condition] [ GROUP BY group_by_expression] [ HAVING search_condition] [ ORDER BY order_expression [ ASC|DESC ] ]
Les seules clauses obligatoires sont la clause SELECT et la clause FROM, et les autres clauses sont facultatives. La signification spécifique de chaque clause est la suivante :
— Clause SELECT : Spécifiez les colonnes renvoyées par la requête.
— Clause INTO : stockez les résultats de la recherche dans une nouvelle table ou vue.
— Clause FROM : utilisée pour spécifier la table ou la vue où se trouve la colonne référencée. S'il y a plusieurs objets, ils doivent être séparés par des virgules.
— Clause WHERE : Spécifie les critères de recherche utilisés pour limiter les lignes renvoyées. Si l'instruction SELECT ne comporte pas de clause WHERE, le SGBD suppose que toutes les lignes de la table cible satisfont aux critères de recherche.
— Clause GROUP BY : spécifiez le groupe utilisé pour placer les lignes de sortie, et si la clause SELECT 0a396bc53a1e5d0fe3c9c82cc53ffbc7 contient une fonction d'agrégation, calculez la valeur récapitulative de chaque groupe.
— Clause HAVING : Précisez les critères de recherche de groupes ou d'agrégations. HAVING est généralement utilisé avec la clause GROUP BY. Si vous n'utilisez pas la clause GROUP BY, HAVING se comporte de la même manière que la clause WHERE.
— Clause ORDER BY : Spécifie l'ordre de l'ensemble de résultats. Le mot-clé ASC indique les résultats par ordre croissant et le mot-clé DESC indique les résultats par ordre décroissant. Si aucun mot-clé n'est spécifié, ASC est le mot-clé par défaut. Sans la clause ORDER BY, le SGBD affichera les données en fonction de l'endroit où les données sont stockées dans la table d'entrée.
L'ordre et la fonction de chaque clause de SELECT
L'ordre des clauses dans l'instruction SELECT est très important. Les clauses facultatives peuvent être omises, mais elles doivent apparaître dans l’ordre approprié lorsqu’elles sont utilisées. Leur ordre et leurs principales fonctions dans l'instruction de requête SELECT sont présentés dans le tableau 4.1.
Tableau 4.1 L'ordre et la fonction de chaque clause de l'instruction de requête SELECT
Numéro de séquence | Mots-clés de clause |
Fonction de clause |
1 |
SELECT |
dans la table spécifiée Obtenir les données de la colonne spécifiée |
2 |
DE |
Spécifiez la table à interroger |
3 |
WHERE |
permet de préciser un critère de sélection des requêtes |
4 |
GROUPE PAR |
Grouper l'ensemble de résultats, souvent utilisé avec des fonctions d'agrégation |
5 |
HAVING |
Renvoie le nombre de lignes dans l'ensemble de résultats sélectionné |
6 |
ORDER BY |
Regroupement spécifié Recherche conditions |
Si certaines des clauses de requête présentées dans le tableau 4.1 sont utilisées dans la même instruction de requête SELECT, alors chaque clause de requête est organisée en fonction de leur numéro de commande de bas en haut.
Recommandations associées : "Tutoriel PHP", "Tutoriel mysql"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!