oracle sql syntaxe select avec GROUP BY et HAVING

J'ai été en passant par certains de la syntaxe sql pour l'étude de l'oracle sql examen, j'ai trouvé quelque chose d'assez déroutant

basé sur la officiel références, sélectionnez la syntaxe est comme suit :

SELECT
    [ hint ]
    [ { { DISTINCT | UNIQUE } | ALL } ]
   select_list
     FROM { table_reference | join_clause | ( join_clause ) }
            [ , { table_reference | join_clause | (join_clause) } ] ...
     [ where_clause ]
     [ hierarchical_query_clause ]
     [ group_by_clause ]
     [ HAVING condition ]
     [ model_clause ]

sur cette base, vous ne peut pas avoir de la clause HAVING avant de la clause GROUP BY . Cependant, si je devais exécuter la requête sql suivante dans le serveur de test :

select 
   department_id , count (*)      
from 
    employees 
having 
    count(*) > 6 
group by 
    department_id ; 

il ne produit pas une erreur de syntaxe , peut-on aider expliquer cela ? Je n'aime pas à penser que la référence docs est mal , mais si j'ai besoin d'une confirmation.

Ne vous obtenez des résultats différents lorsque vous modifiez l'emplacement de la "avoir des" déclaration?
pas de différence dans le résultat .
ici , oracle.com/technetwork/community/developer-vm/index.html , téléchargez la base de données développement d'une application du modèle et de l'ouvrir à l'aide d'oracle vitrualbox

OriginalL'auteur user2081775 | 2013-11-25