Bases des bases de données

La colonne Service d'une table Employe contient, de la première ligne à la dernière, Commercial, Développement, Commercial, Administration, Développement, Commercial (6 lignes au total). Combien de lignes renvoie SELECT DISTINCT Service FROM Employe ?

  1. A2 lignes
  2. B3 lignes
  3. C6 lignes
Afficher la réponse et l'explication

Réponse : B. 3 lignes

DISTINCT supprime les lignes en double du résultat et regroupe les valeurs identiques en une seule ligne. Il y a 3 valeurs distinctes de Service, Commercial, Développement et Administration ; le résultat compte donc 3 lignes. Sans DISTINCT, SELECT Service FROM Employe renvoie les 6 lignes, doublons compris. 2 lignes correspond au nombre de services qui apparaissent au moins 2 fois (Commercial et Développement), c'est-à-dire au résultat d'une requête comme SELECT Service FROM Employe GROUP BY Service HAVING COUNT(*) >= 2.

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases des bases de données

  1. Quel est le résultat de l'exécution en SQL de DELETE FROM Employe sans clause WHERE ?
  2. La colonne Points d'une table Examen contient 4 valeurs : 80, NULL, 70, 90 (NULL signifie que la personne n'a pas passé l'examen). Quel est le résultat de SELECT AVG(Points) FROM Examen ?
  3. La colonne Points d'une table Resultat contient 6 valeurs : 50, NULL, 70, NULL, 90, 30. Quelle proposition donne, dans l'ordre, le résultat de SELECT COUNT(*), COUNT(Points), AVG(Points) FROM Resultat ?
  4. À partir d'une table Employe(NumEmploye, Service, Salaire), on veut obtenir les services dont le salaire moyen est supérieur ou égal à 300, ainsi que ce salaire moyen. Quelle instruction SQL est correcte ?
  5. Une table Vente(Magasin, Montant) contient 7 lignes : (A, 500), (A, 700), (B, 300), (B, 400), (C, 1200), (D, 200), (D, 900). Combien de lignes renvoie SELECT Magasin, SUM(Montant) FROM Vente GROUP BY Magasin HAVING SUM(Montant) >= 1000 ?