Requete sql

Fermé
BOB - Modifié par 00lina00 le 13/10/2010 à 21:12
jee pee Messages postés 40565 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 18 décembre 2024 - 13 oct. 2010 à 23:23
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

jee pee Messages postés 40565 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 18 décembre 2024 9 459
Modifié par jee pee le 13/10/2010 à 23:35
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