Cela dépend de la difficulté avec laquelle vous le souhaitez. De plus, je me méfie un peu de vous donner la réponse car la plupart des problèmes SQL ont plusieurs façons acceptables de faire les choses et il existe également des moyens de résoudre les problèmes SQL de manière bâclée qui entraîneront d'autres problèmes. La personne qui «note» la réponse doit absolument pouvoir la résoudre par elle-même.
Cela dit, voici quelques-uns que j'ai inventés du haut de ma tête.
Niveau extrêmement facile: étant
donné une table d'employés avec les colonnes EmpID, FirstName, Lastname, HireDate et TerminationDate:
Écrivez une requête pour renvoyer tous les employés travaillant encore pour l'entreprise avec des noms commençant par "Smith" triés par nom puis prénom.
Niveau facile
Étant donné le tableau Employé ci-dessus, plus un nouveau tableau "AnnualReviews" avec les colonnes EmpID et ReviewDate:
Écrivez une requête pour renvoyer tous les employés qui n'ont jamais eu d'avis révisés par HireDate.
Niveau moyen
Compte tenu du tableau des employés ci-dessus, écrivez une requête pour calculer la différence (en jours) entre l'employé le plus ancien et le moins titulaire travaillant toujours pour l'entreprise?
Niveau difficile
Compte tenu du tableau des employés ci-dessus, écrivez une requête pour calculer la période la plus longue (en jours) pendant laquelle l'entreprise a passé sans embaucher ou licencier quelqu'un.
Niveau plus difficile
Encore une fois en utilisant les mêmes tableaux, écrivez une requête qui renvoie chaque employé et pour chaque ligne / employé inclut le plus grand nombre d'employés qui ont travaillé pour l'entreprise à tout moment au cours de leur mandat et la première date à laquelle ce maximum a été atteint. Points supplémentaires pour ne pas utiliser de curseurs.