Retour à la liste des articles Articles
9 minutes de lecture

Une pratique complète du SQL pour les entretiens

Félicitations ! Vos compétences en SQL étaient suffisamment solides pour vous permettre de décrocher cet entretien d'embauche ! Maintenant, si seulement vous saviez quelles questions et exercices pratiques SQL un recruteur pourrait vous demander....

Cet article est conçu comme un entraînement SQL pour les entretiens. Je vais vous aider à vous préparer aux aspects SQL et bases de données de votre entretien d'embauche.

Dans un article précédent, j'ai expliqué comment vous pouvez booster votre carrière en apprenant SQL. Il ouvre des perspectives dans le domaine informatique et en dehors, car ce langage de requête est utilisé pratiquement partout. Imaginons que vous ayez enfin pris la décision d'utiliser vos compétences en SQL dans un nouvel emploi. Mais avant de commencer, vous devez passer l'entretien d'embauche.

Votre interlocuteur peut utiliser plusieurs types de questions SQL sur tableau blanc : parfois, il vous demandera de décrire les différences entre deux éléments ; parfois, vous devrez lui communiquer le résultat d'une requête spécifique ; vous pourrez même avoir à écrire un code simple.

Cela peut sembler stressant, mais ne vous inquiétez pas trop. La meilleure façon de se préparer à un entretien, c'est de s'entraîner. Je recommande la piste La pratique du SQL sur LearnSQL.com. Elle contient plus de 600 exercices SQL interactifs pour vous aider à réviser et à pratiquer le SQL avant un entretien.

Dans cet article, je vous aiderai à vous préparer en passant en revue certaines questions et exercices SQL courants que les recruteurs utilisent au cours de l'entretien.

Questions SQL de base pour les entretiens d'embauche

Tout d'abord, concentrons-nous sur le côté plus théorique de SQL. Pour évaluer votre compréhension, le recruteur vous demandera probablement d'expliquer oralement des questions plus simples. Celles-ci portent généralement sur les parties élémentaires du langage SQL. Par exemple, on peut vous demander de répondre à certaines des questions suivantes sur le tableau blanc SQL :

Pouvez-vous répondre à toutes les questions de mon exercice SQL pour les entretiens ? Même les questions de base nécessitent une bonne préparation et beaucoup de pratique. Personne n'est parfait, et vous avez parfois besoin de rafraîchir vos connaissances. Nos cours en ligne peuvent vous aider à rafraîchir vos connaissances semi-oubliées.

Exercices SQL pratiques pour l'entretien

Les entretiens d'embauche dans le domaine technique ont souvent un aspect pratique. C'est là que vous devez prouver vos compétences en SQL telles que vous les utiliseriez dans la vie réelle. Outre les réponses aux questions typiques du tableau blanc SQL, on vous demandera d'écrire une instruction SQL, de vérifier l'absence d'erreurs dans une requête ou de déterminer le résultat d'une requête donnée.

Ci-dessous, j'ai copié dix exercices SQL du type de ceux que vous pourriez faire lors d'un entretien d'embauche technique. Ils sont classés de faciles à difficiles.

Exercice SQL 1 - Rédiger une instruction

Ecrivez une instruction SQL qui liste les noms des écoles, les noms des étudiants et leurs villes seulement si l'école et l'étudiant sont dans la même ville et si l'étudiant n'est pas de New York.

Table: school
school_id       school_name                    city  
-----------     ------------------       ----------  
1               Stanford                   Stanford    
2               University of Cali    San Francisco       
3               Harvard University         New York      
4               MIT                          Boston       
5               Yale                      New Haven        
Table: student
student_id   student_name  city           school_id
-----------  ------------  ----------   -----------
1001         Peter Brebec  New York              1
1002         John Goorgy   San Francisco         2
2003         Brad Smith    New York              3
1004         Fabian Johns  Boston                5
1005         Brad Cameron  Stanford              1
1006         Geoff Firby   Boston                5
1007         Johnny Blue   New Haven             2
1008         Johse Brook   Miami                 2

Exercice SQL 2 - Rédiger une instruction

Ecrivez une instruction SQL qui liste les noms des étudiants, les noms des matières, les professeurs des matières, et le nombre maximum de points pour toutes les matières sauf l'informatique et toutes les matières dont le score maximum est compris entre 100 et 200.

Table: subject
subject_id  subject_name          max_score    lecturer
----------  ----------            ----------   -----------  
 11         Math                  130          Christena Solem 
 12         Computer Science      150          Jaime Pille 
 13         Biology               300          Carrol Denmark 
 14         Geography             220          Yuette Galang 
 15         Physics               110          Colton Rather 
 16         Chemistry             400          Nan Mongeau 
Table: student
student_id   student_name    city           subject_id
-----------  ------------    ----------    -----------
2001         Thurman Thorn   New York               11
2002         Sharda Clemens  San Francisco          12
2003         Buck Elkins     New York               13
2004         Fabian Johns    Boston                 15
2005         Brad Cameron    Stanford               11
2006         Sofia Roles     Boston                 16
2007         Rory Pietila    New Haven              12

Exercice SQL 3 - Trouvez l'erreur

Quelle est l'erreur de cette requête SQL ?

SELECT Id, name, YEAR(BillingDate) AS Year 
FROM Records
WHERE Year >= 2010
SELECT id, name
FROM students
WHERE grades = 
             (SELECT MAX(grades)
              FROM students
              GROUP BY subject_id;);

Exercice SQL 4 - Trouvez le résultat

Étant donné les tables suivantes...

Table: worker
id    name
---   -----------      
1     Guillermo Sparks
2     Gene	Roberts
3     Ally Jones
4     Bryant Summers
5     Candice Green
Table: departments
id    name            manager_id
---   -------------    --------- 
1     Financial               3        
2     Strategy                5        
3     IT                      1        
4     Marketing            NULL     

... Quel sera le résultat de la requête ci-dessous ?

SELECT name 
FROM worker 
WHERE id NOT IN (SELECT manager_id FROM departments)

Exercice SQL 5 - Écrire une requête

La table EMPLOYEE a les attributs suivants : NAME, DEPT_ID, et SALARY. Rédigez une requête qui indique le salaire le plus élevé dans chaque département.

Exercice SQL 6 - Ecriture d'une requête de date

Ecrivez une requête SQL qui affiche la date actuelle.

Exercice SQL 7 - Ecriture d'une requête

Ecrivez une requête SQL qui vérifie si une date (1/04/12) passée à la requête est dans un format donné (MM/AAA/JJ).

Exercice SQL 8 - Trouver et supprimer les doublons

Écrivez une requête SQL pour trouver les lignes en double dans deux tables (EMPLOYEE et WORKERS), puis écrivez une requête pour supprimer les doublons.

Exercice SQL 9 - Rédiger une requête complexe

Ecrivez une requête qui liste les noms des sujets des cours et le nombre d'étudiants qui suivent le cours seulement si le cours a trois étudiants inscrits ou plus.

Table: subject
subject_id  subject_name       max_score        lecturer
----------  ----------         ----------       -----------  
 11         Math                    130         Christena Solem 
 12         Computer Science         50         Jaime Pille 
 13         Biology                 300         Carrol Denmark 
 14         Geography               220         Yuette Galang 
 15         Physics                 110         Colton Rather 
 16         Chemistry               400         Nan Mongeau
Table: student
student_id   student_name       city           subject_id
-----------  ------------       ----------    -----------
2001         Thurman Thorn      New York               11
2002         Sharda Clemens     San Francisco          12
2003         Buck Elkins        New York               13
2004         Fabian Johns       Boston                 15
2005         Brad Cameron       Stanford               11
2006         Sofia Roles        Boston                 16
2007         Rory Pietila       New Haven              12
2008         Cicely Weish       Tulsa                  14
2011         Richard Curtin     Boston                 11
2012         Kassy Ledger       Stanford               11
2013         Henry Ledger       Miami                  13
2014         Darius Fidzberg    San Francisco          12
2015         Darcey Fiorillo    Chicago                14

Exercice SQL 10 - Écrire une requête complexe

Ecrivez une requête qui affiche l'âge moyen des travailleurs dans chaque entreprise. Le résultat doit indiquer le nom de l'entreprise et l'âge du plus jeune employé de l'entreprise.

Table: company
ID     NAME
------ -------------
    1  Amazon
    2  Samsung
    3  LG
    4  Kia
    5  Lenovo
Table: workers
ID      NAME                             AGE     COMPANY_ID
------- ------------------------- ---------- -------------
    1   Derick Davison                    20            5
    2   Bari Becnel                       50            1
    3   Maddie Mueller                    33            2
    4   Eva Emrich                        23            1
    5   Katelyn Kunze                     55            3
    6   Hue Hover                         26            2
    7   Lucas Lout                        57            4
    8   Granville Grande                  30            5
    9   Robt Rude                         39            3
   10   Lisha Lewin                       25            4
   11   Aron Atlas                        52            3
   12   Chester Coddington                44            4
   13   Diedre Dominy                     31            1
   14   Evie Edgell                       35            2
   15   Judy Johanson                     36            5

SQL avancé Questions pour le tableau blanc

OK, nous nous sommes déjà entraînés à utiliser le langage SQL pour les entretiens, mais nos exercices portaient sur les bases du SQL. Mais qu'en est-il d'un emploi plus avancé, comme celui de développeur SQL ou d'administrateur de base de données ? Les recruteurs ne s'intéresseront pas seulement à vos connaissances en SQL ; ils auront également besoin de savoir si vous maîtrisez les bases de données en général. Dans ce cas, voyez dans quelle mesure vous pouvez répondre oralement à des questions de tableau blanc SQL comme celles-ci :

  • Que sont les clés primaires et étrangères ?
  • Qu'est-ce que la normalisation ? Qu'est-ce que la dénormalisation ?
  • Qu'est-ce qu'un index ? Pouvez-vous expliquer brièvement les différents types d'index ?
  • Pouvez-vous expliquer les relations entre bases de données et les types de relations ?
  • Qu'est-ce qu'un curseur de base de données ?
  • Qu'est-ce qu'une contrainte ?
  • Qu'est-ce qu'une transaction de base de données ? Un verrou de base de données ?
  • Comment utiliser la fonction NULLIF?
  • Quel est l'objectif de la fonction NVL?
  • Quelle est la différence entre les fonctions RANK() et DENSE_RANK()?
  • Quelle est la différence entre les types de données VARCHAR2 et CHAR?

Une fois encore, même si vous connaissez les réponses à ces questions, il est utile de vous exercer. Vous pouvez même vous entraîner à y répondre à voix haute !

Vous voyez donc que les questions et exercices SQL sur tableau blanc ne sont pas aussi effrayants que vous le pensez. Bien sûr, ce n'est pas non plus un jeu d'enfant. Nous avons passé en revue certaines méthodes courantes d'évaluation des compétences, mais beaucoup dépend de l'imagination et de l'expérience de votre interlocuteur. Le plus important est de montrer au recruteur que vous comprenez le fonctionnement de SQL et que vous pouvez, si nécessaire, trouver de l'aide sur Internet.

Si vous n'avez pas d'entretien à l'horizon, c'est le moment d'affiner vos compétences en SQL. Quoi qu'il en soit, j'espère que cet article vous a permis de vous entraîner à la pratique du SQL pour les entretiens et vous a aidé à savoir à quoi vous attendre et comment vous préparer à un entretien d'embauche lié au SQL lorsque vous en aurez un !