Toutes ces choses ont l’avantage de permettre de faire des requètes plus compliquées en assemblant des requètes plus simple ou en utilisant des fonctions pour nous simplifier la vie.
📎 Les groupements
Les groupements permettent de grouper plusieurs résultats en même temps. Par exemple pour faire la moyenne d’une/plusieurs colonne(s), les additioner, etc.
Les fonctions de groupements que l’on peut utiliser sont :
AVG()
pour faire une moyenne de plusieurs résultatsSUM()
pour addtionner plusieurs résultatsMAX()
pour avoir le plus grand résultatMIN()
pour avoir le plus petit résultatCOUNT()
pour compter le nombre de résultatsCOUNT(*)
pour compter le nombre de tuplesCOUNT(attr)
pour compter le nombre de valeurs dans une colonneCOUNT(DISTINCT attr)
pour compter le nombre de valeurs distinctes d’une colonne
🪆 Les requètes imbriquées
Les requètes imbriquées permettent de diviser des problèmes complexe en requètes plus simple que l’on assemble entre elles.
Dans cette requète on divise le problème en deux partie :
- Trouver le montant le plus haut (c’est la requete imbriquée)
- Trouver le(s) candidat·e·s qui ont une offre qui correponds à ce montant
🖇 Les opérateurs ensemblistes
Ici étant donné que l’on a les même noms de colonnes pour chaque requète on peut les combiner ensemble (comme vu avec les ensembles en math ou avec les jointures)
Il existe 3 types d’opérateurs ensemblistes en Oracle SQL :
- Le
UNION
qui permet de combiner les deux (additionner en somme) - Le
MINUS
qui va prendre tout ce qui est dans le premier mais pas après (différence en math) - Le
INTERSECT
qui va prendre seulement ce qui est commun aux deux requètes
Voici d’autres exemples avec d’autres opérateurs :
Ou encore