Requete sql

BOB -  
jee pee Messages postés 9445 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour, quelqu'un pourrait répondre à mes quelques intérrogation ?

quel est la différence entre un group by et un order by dans une requete sql ?

et qu'est ce que having et distinct ?

merci !!

1 réponse

  1. jee pee Messages postés 9445 Date d'inscription   Statut Modérateur Dernière intervention   9 984
     
    Salut,

    * L'order by sert à trier, sur 1 ou plusieurs colonnes, tous les enregistrements ramenés par un select.

    la liste des personnes triée par nom et prénom
           
    select nom, prénom, age from persone order by nom, prenom;   

    * Le group by sert à regrouper des enregistrements (notion d'agrégat), avec comme critère le contenu d'une ou plusieurs colonnes, ramenés par le select pour réaliser une fonction sur une autre colonne : somme, moyenne, ...

    Ramener le chiffre d'affaire de toutes les boutiques par département
           
    select département, sum(chiffre_affaire) from boutique group by departement;  

    * Le select distinct ne ramène qu'une occurrence d'une valeur d'une colonne même si la valeur apparait plusieurs fois dans la table.

    ramener la liste des départements dans lesquels il y a une ou des boutiques
           
    select distinct(departement) from boutique;    

    * Le having est une sélection qui s'utilise avec le group by pour limiter la recherche en utilisant la fonction objet du group by.

    Ramener le chiffre d'affaire de toutes les boutiques par département seulement quand la somme du chiffre d'affaire dans le département est supérieur à 10 000
    
    select département, sum(chiffre_affaire) from boutique group by departement having sum(chiffre_affaire) > 10000;   


    cdlt

    Un étranger, c'est un ami qu'on n'a pas encore rencontré.
    0