Maison > Article > base de données > Quel est l'ordre dans lequel les mots-clés SQL sont exécutés ?
L'ordre dans lequel les mots-clés SQL sont exécutés est le suivant : exécutez d'abord l'instruction from ; puis l'instruction Where, puis l'instruction group by ;
[Cours recommandés : Tutoriel MySQL]
Ordre d'exécution des mots clés SQL
Exemple :
select m.* from(select t.*,rownum r from (select id,name,e.username,e.realname from departments d ,employees e where d.manager=e.username(+) order by id desc ) t where rownum<=? ) m where r>? select m.*(select t.*,t.rownum r from( select a,b,c,d from table1 order by a desc ) t where rownum < = ? ) m where r > ?
L'ordre d'analyse SQL standard est
(1) Clause FROM, rassemblez des données provenant de différentes sources de données
(2) Clause WHERE, filtrez les enregistrements en fonction de conditions spécifiées
(3) Clause GROUP BY, divisez les données en plusieurs groupes
(4) Utilisez les fonctions d'agrégation pour calculer
(5) Utilisez la clause HAVING pour filtrer les groupes
(6) Calculez toutes les expressions Formule
(7 ) utilise ORDER BY pour trier l'ensemble de résultats
Exemple
dans le tableau des notes des étudiants (appelé provisoirement tb_Grade ), regrouper les enregistrements dont le "candidat Le contenu de "nom" n'est pas vide en fonction du "nom du candidat", et filtrez les résultats de regroupement pour sélectionner
dont le "score total" est supérieur à 600 points. L'instruction SQL est :
select 考生姓名, max(总成绩) as max总成绩 from tb_Grade where 考生姓名 is not null group by 考生姓名 having max(总成绩) > 600 order by max总成绩
Dans l'exemple ci-dessus, la séquence d'exécution des instructions SQL est la suivante :
(1) Exécutez d'abord la clause FROM et assemblez les données de la source de données à partir du table tb_Grade
(2) Exécutez la clause WHERE, filtrez toutes les données de la table tb_Grade qui ne sont pas NULL
(3) Exécutez la clause GROUP BY, regroupez la table tb_Grade par le "Student Colonne Nom"
(4) Calculez la fonction d'agrégation max() et trouvez les valeurs les plus grandes dans le score total en fonction du "score total"
(5) Exécutez la clause HAVING pour filtrer le score total du cours supérieur à 600 points.
(6) Exécutez la clause ORDER BY et triez les résultats finaux par "Max Score".
Résumé : Le ci-dessus se trouve l’intégralité du contenu de cet article, j’espère qu’il aidera tout le monde.
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!