Q.C.M.




Une fonction qui retourne la valeur maximale d'un champ est une fonction...

  •  Scalaire
  •  D'agrégat



Quel effet a la requête SQL suivante :
Code : SQL 

1

SELECT UPPER(nom) AS nom_maj FROM jeux_video



  •  Retourne tous les noms des jeux mis en majuscules sous un champ nommé nom_maj
  •  Retourne tous les noms des jeux mis en majuscules sous un champ nommé nom
  •  Met en majuscules tout le champ nom de la table
  •  Crée un champ nom_maj en majuscules dans la table



Pourquoi est-il inutile de faire une boucle lorsqu'on utilise une fonction d'agrégat ?

  •  Les fonctions d'agrégat ne retournent qu'une seule entrée
  •  Les boucles sont particulièrement lentes avec les fonctions d'agrégat
  •  Les boucles sont inutiles avec les fonctions scalaires et non d'agrégat



Quel effet a la requête suivante :

Code : SQL

1

SELECT COUNT(DISTINCT console) AS tot_consoles FROM jeux_video

  •  Compte le nombre de jeux différents dans la table
  •  Compte le nombre de consoles différentes



Quel effet a la requête suivante :

Code : SQL

1

SELECT MAX(prix) AS prix_max, possesseur FROM jeux_video GROUP BY possesseur

  •  Retourne le prix du jeu le plus cher de chaque personne
  •  Retourne le prix moyen des jeux de chaque console
  •  Retourne la liste des jeux et leur prix maximal pour chaque personne




En résumé


  • MySQL permet d'exécuter certaines fonctions lui-même, sans avoir à passer par PHP. Ces fonctions modifient les données renvoyées.
  • Il existe deux types de fonctions :
    • les fonctions scalaires : elles agissent sur chaque entrée récupérée. Elles permettent par exemple de convertir tout le contenu d'un champ en majuscules ou d'arrondir chacune des valeurs ;
    • les fonctions d'agrégat : elles effectuent des calculs sur plusieurs entrées pour retourner une et une seule valeur. Par exemple : calcul de la moyenne, somme des valeurs, comptage du nombre d'entrées…
  • On peut donner un autre nom aux champs modifiés par les fonctions en créant des alias à l'aide du mot-clé AS.
  • Lorsqu'on utilise une fonction d'agrégat, il est possible de regrouper des données avec GROUP BY.
  • Après un groupement de données, on peut filtrer le résultat avec HAVING. Il ne faut pas le confondre avec WHERE qui filtre avant le groupement des données.

Créé avec HelpNDoc Personal Edition: Mettez à niveau sans effort vos fichiers d'aide WinHelp HLP vers CHM avec HelpNDoc