Accéder au contenu principal

Les 85 meilleures questions et réponses d'entretien SQL pour 2025

Préparez-vous à l'entretien grâce à cette vue d'ensemble des questions et réponses SQL essentielles pour les chercheurs d'emploi, les responsables de recrutement et les recruteurs.
Actualisé 16 févr. 2025  · 15 min de lecture

Que vous soyez un chasseur d'emploi à la recherche d'une nouvelle opportunité d'appliquer vos compétences en SQL ou un responsable du recrutement qui va interroger un candidat pour un poste à pourvoir dans son entreprise, il est indispensable de connaître les questions et réponses courantes des entretiens en SQL.

Dans cet article, nous examinerons 80 questions et réponses SQL essentielles pour les débutants et les praticiens intermédiaires. Ces questions et réponses vous aideront à mieux vous préparer à l'entretien et à savoir à quoi vous attendre de la part de votre interlocuteur.

Pour ceux qui cherchent à améliorer davantage leurs connaissances et leurs compétences, pensez à explorer nos cours complets sur l 'ingénierie des données, les technologies cloud et AWS.

Questions d'entretien SQL en un coup d'œil

Dans cet article, nous explorerons une série de questions et de réponses d'entretien SQL pour les praticiens de niveau débutant et intermédiaire. Si vous souhaitez avoir une vue d'ensemble, nous avons rassemblé quelques conseils ci-dessous :

Pour les débutants

  1. Questions générales. Attendez-vous à des questions sur votre expérience, les saveurs SQL que vous connaissez et votre niveau de compétence.
  2. Questions techniques. Ils couvrent les bases du langage SQL, notamment ce qu'il est, ses applications, les instructions SQL, les commandes SQL et les types de requêtes SQL, entre autres.

Pour les praticiens intermédiaires

  1. Fonctions en SQL. Vous devez connaître les fonctions agrégées et scalaires, ainsi que les fonctions intégrées et définies par l'utilisateur.
  2. Commandes avancées. Les questions peuvent porter sur des sujets tels que les jointures, les clés primaires et étrangères, les index et les relations SQL.
  3. Conception de la base de données. Attendez-vous à des questions sur la normalisation, la dénormalisation et les différences entre les différentes instructions SQL telles que DELETE, TRUNCATE et DROP.
  4. Requêtes avancées. On vous posera peut-être des questions sur les sous-requêtes, qu'elles soient imbriquées ou corrélées, ainsi que sur la manière d'effectuer des tâches spécifiques telles que la recherche de la nième valeur la plus élevée dans une colonne.

Questions générales d'entretien SQL pour les débutants

Avant de vous poser des questions techniques, votre interlocuteur peut vous poser des questions générales sur votre expérience globale du langage SQL. Vous pouvez vous attendre à recevoir les questions suivantes :

  • Quelles saveurs SQL connaissez-vous ?
  • Comment pouvez-vous estimer votre niveau de compétence en SQL ?
  • Depuis combien de temps travaillez-vous dans le domaine du langage SQL ?

Bien que ces informations puissent être mentionnées dans votre CV, soyez prêt à en parler. Naturellement, il n'y a pas de "bonnes" réponses à ces questions et il n'est pas nécessaire d'inventer des choses pour y répondre.

Ne vous inquiétez pas si votre expérience en SQL est limitée : c'est quelque chose que votre interlocuteur sait probablement déjà grâce à votre CV. Étant donné qu'ils sont de toute façon intéressés à vous parler, votre profil a été considéré comme correspondant à leur entreprise.

Par ailleurs, vous pouvez très bien ne travailler qu'avec une seule saveur SQL. Rappelez-vous que tous les dialectes SQL sont relativement similaires. Par conséquent, la connaissance d'un seul d'entre eux constitue une base solide pour l'apprentissage des autres.

Questions d'entretien technique SQL pour les débutants 

Passons maintenant aux questions techniques de l'entretien SQL et aux réponses possibles.

Lorsque vous répondez à des questions techniques, la meilleure stratégie consiste à donner des réponses aussi précises que possible. Cela peut ressembler à une tentative de s'écarter du sujet principal. En outre, elle peut susciter d'autres questions pour lesquelles vous pouvez vous sentir moins sûr de vous.

1. Qu'est-ce que SQL ?

Il s'agit d'un langage de programmation utilisé pour interagir avec les systèmes de gestion de bases de données relationnelles (SGBDR). Il s'agit notamment d'extraire, de mettre à jour, d'insérer et de supprimer des données des tableaux.

2. Qu'est-ce qu'un dialecte SQL ? Donnez quelques exemples.

Les différentes versions de SQL, gratuites ou payantes, sont également appelées dialectes SQL. Toutes les variantes de SQL ont une syntaxe très similaire et ne varient de manière insignifiante qu'en termes de fonctionnalités supplémentaires. Microsoft SQL Server, PostgreSQL, MySQL, SQLite, T-SQL, Oracle et MongoDB en sont quelques exemples.

3. Quelles sont les principales applications de SQL ?

En utilisant SQL, nous pouvons :

  • créer, supprimer et mettre à jour des tableaux dans une base de données
  • accéder aux données d'un tableau, les manipuler et les modifier
  • extraire et résumer les informations nécessaires d'un tableau ou de plusieurs tableaux
  • ajouter ou supprimer certaines lignes ou colonnes d'un tableau

Dans l'ensemble, SQL permet d'interroger une base de données de multiples façons. En outre, SQL s'intègre facilement à d'autres langages de programmation, tels que Python ou R, afin que nous puissions utiliser leur puissance combinée.

4. Qu'est-ce qu'une instruction SQL ? Donnez quelques exemples.

Également connu sous le nom de commande SQL. Il s'agit d'une chaîne de caractères interprétée par le moteur SQL comme une commande légale et exécutée en conséquence. Voici quelques exemples d'instructions SQL : SELECT,CREATE,DELETE,DROP,REVOKE, etc.

5. Quels types de commandes SQL (ou sous-ensembles SQL) connaissez-vous ?

  • Le langage de définition des données (DDL) - pour définir et modifier la structure d'une base de données.
  • Langage de manipulation des données (DML) - pour accéder aux données d'une base de données, les manipuler et les modifier.
  • Langage de contrôle des données (DCL) - pour contrôler l'accès des utilisateurs aux données de la base de données et accorder ou révoquer des privilèges à un utilisateur spécifique ou à un groupe d'utilisateurs.
  • Le langage de contrôle des transactions (TCL) - pour contrôler les transactions dans une base de données.
  • Langage de requête de données (DQL) - pour effectuer des requêtes sur les données d'une base de données afin d'en extraire les informations nécessaires.

6. Donnez quelques exemples de commandes SQL courantes de chaque type.

  • DDL : CREATE, ALTER TABLE, DROP, TRUNCATEet ADD COLUMN
  • DML : UPDATE, DELETEet INSERT
  • DCL : GRANT et REVOKE
  • TCL : COMMIT, SET TRANSACTION, ROLLBACKet SAVEPOINT
  • DQL : - SELECT

7. Qu'est-ce qu'une base de données ?

Espace de stockage structuré où les données sont conservées dans de nombreux tableaux et organisées de manière à ce que les informations nécessaires puissent être facilement récupérées, manipulées et résumées.

8. Qu'est-ce qu'un SGBD et quels types de SGBD connaissez-vous ?

Il s'agit d'un système de gestion de base de données, un logiciel utilisé pour effectuer diverses opérations sur les données stockées dans une base de données, telles que l'accès, la mise à jour, la manipulation, l'insertion et la suppression de données. Il existe différents types de SGBD, tels que les SGBD relationnels, hiérarchiques, en réseau, en graphe ou orientés objet. Ces types sont basés sur la manière dont les données sont organisées, structurées et stockées dans le système.

9. Qu'est-ce qu'un SGBDR ? Donnez quelques exemples de SGBDR.

Il s'agit d'un système de gestion de base de données relationnelle. C'est le type de SGBD le plus communément utilisé pour travailler avec des données stockées dans plusieurs tableaux reliés entre eux par des clés partagées. Le langage de programmation SQL est conçu pour interagir avec les SGBDR. Quelques exemples de SGBDR sont MySQL, PostgreSQL, Oracle, MariaDB, etc.

10. Que sont les tableaux et les champs en SQL ?

Un tableau est un ensemble organisé de données connexes stockées sous une forme tabulaire, c'est-à-dire en lignes et en colonnes. Un champ est un autre terme pour désigner une colonne d'un tableau.

11. Qu'est-ce qu'une requête SQL et quels types de requêtes connaissez-vous ?

Une requête est un morceau de code écrit en SQL pour accéder ou modifier des données d'une base de données.

Il existe deux types de requêtes SQL : les requêtes desélection et les requêtes d'action. Les premiers sont utilisés pour extraire les données nécessaires (ce qui inclut également la limitation, le regroupement, l'ordonnancement des données, l'extraction des données de plusieurs tableaux, etc.), tandis que les seconds sont utilisés pour créer, ajouter, supprimer, mettre à jour, renommer les données, etc.

12. Qu'est-ce qu'une sous-requête ?

Également appelée requête interne, requête placée à l'intérieur d'une autre requête ou requête externe. Une sous-requête peut apparaître dans des clauses telles que SELECT,FROM,WHERE,UPDATE, etc. Il est également possible d'avoir une sous-requête à l'intérieur d'une autre sous-requête. La sous-requête la plus proche est exécutée en premier et son résultat est transmis à la requête (ou sous-requête) qui la contient.

13. Quels types de sous-requêtes SQL connaissez-vous ?

  • Une seule ligne - renvoie au maximum une ligne.
  • Multi-rangée - renvoie au moins deux lignes.
  • Multi-colonne - renvoie au moins deux colonnes.
  • Corrélé - une sous-requête liée aux informations de la requête externe.
  • Emboîté - une sous-requête à l'intérieur d'une autre sous-requête.

14. Qu'est-ce qu'une contrainte et pourquoi l'utiliser ?

Ensemble de conditions définissant le type de données pouvant être introduites dans chaque colonne d'un tableau. Les contraintes garantissent l'intégrité des données dans un tableau et bloquent les actions indésirables.

15. Quelles contraintes SQL connaissez-vous ?

  • DEFAULT - fournit une valeur par défaut pour une colonne.
  • UNIQUE - n'autorise que des valeurs uniques.
  • NOT NULL - n'autorise que les valeurs non nulles.
  • PRIMARY KEY - n'autorise que des valeurs uniques et strictement non nulles (NOT NULL et UNIQUE).
  • FOREIGN KEY - fournit des clés partagées entre deux tableaux ou plus.

16. Qu'est-ce qu'une jointure ?

Clause utilisée pour combiner et extraire des enregistrements de deux ou plusieurs tableaux. Les tableaux SQL peuvent être joints sur la base de la relation entre les colonnes de ces tableaux. Consultez nos jointures SQLpour plus de détails, ainsi que notre guide dédié aux questions d'entretien sur les jointures SQL.

17. Quels types de jonctions connaissez-vous ?

  • (INNER) JOIN - ne renvoie que les enregistrements qui satisfont à une condition de jointure définie dans les deux tableaux (ou dans tous les tableaux). Il s'agit d'une jointure SQL par défaut.
  • LEFT (OUTER) JOIN - renvoie tous les enregistrements du tableau de gauche et les enregistrements du tableau de droite qui satisfont à une condition de jointure définie.
  • RIGHT (OUTER) JOIN - renvoie tous les enregistrements du tableau de droite et les enregistrements du tableau de gauche qui satisfont à une condition de jointure définie.
  • FULL (OUTER) JOIN - renvoie tous les enregistrements des deux tableaux (ou de tous les tableaux). Il peut être considéré comme une combinaison de jointures gauche et droite.

18. Qu'est-ce qu'une clé primaire ?

Une colonne (ou plusieurs colonnes) d'un tableau à laquelle la contraintePRIMARY KEY a été imposée pour garantir des valeurs uniques et non nulles dans cette colonne. En d'autres termes, une clé primaire est une combinaison des contraintes NOT NULL et UNIQUE. La clé primaire identifie de manière unique chaque enregistrement du tableau. Chaque tableau doit contenir une clé primaire et ne peut en contenir plus d'une.

19. Qu'est-ce qu'une clé unique ?

Une colonne (ou plusieurs colonnes) d'un tableau à laquelle la contrainte a été imposée pour garantir des valeurs uniques dans cette colonne. UNIQUE a été imposée pour garantir des valeurs uniques dans cette colonne, y compris une valeur possible (la seule). NULL (la seule).

20. Qu'est-ce qu'une clé étrangère ?

Colonne (ou plusieurs colonnes) d'un tableau à laquelle la contrainteFOREIGN KEY a été imposée pour lier cette colonne à la clé primaire d'un autre tableau (ou de plusieurs tableaux). L'objectif des clés étrangères est de maintenir le lien entre les différents tableaux d'une base de données.

21. Qu'est-ce qu'un index ?

Structure de données spéciale liée à un tableau de base de données et utilisée pour stocker ses parties importantes et permettre une recherche et une récupération plus rapides des données. Les index sont particulièrement efficaces pour les grandes bases de données, où ils améliorent considérablement les performances des requêtes.

22. Quels types d'index connaissez-vous ?

  • Index unique - n'autorise pas les doublons dans une colonne du tableau et contribue ainsi à maintenir l'intégrité des données.
  • Index en grappe - définit l'ordre physique des tableaux d'une base de données et effectue la recherche de données sur la base des valeurs clés. Un tableau ne peut avoir qu'un seul index en grappe.
  • Index non groupé - conserve l'ordre des tableaux qui ne correspond pas à l'ordre physique des données réelles sur le disque. Cela signifie que les données sont stockées à un endroit et un index non groupé à un autre. Un tableau peut avoir plusieurs index non groupés.

23. Qu'est-ce qu'un schéma ?

Ensemble d'éléments structurels d'une base de données, tels que tableaux, procédures stockées, index, fonctions et déclencheurs. Il montre l'architecture globale de la base de données, spécifie les relations entre les différents objets d'une base de données et définit les différentes autorisations d'accès à ces objets. Lisez notre guide sur les schémas de base de données pour en savoir plus.

24. Qu'est-ce qu'un commentaire SQL ?

Une clarification lisible par l'homme de ce que fait un morceau de code particulier. Les commentaires de code SQL peuvent être d'une seule ligne (précédés d'un double tiret -- ) ou s'étendre sur plusieurs lignes (comme suit : /*comment_text*/). Lorsque le moteur SQL s'exécute, il ignore les commentaires de code. L'ajout de commentaires au code SQL a pour but de rendre le code plus complet pour les personnes qui le liront à l'avenir.

25. Qu'est-ce qu'un opérateur SQL ?

Un caractère réservé, une combinaison de caractères ou un mot-clé utilisé dans les requêtes SQL pour effectuer une opération spécifique. Les opérateurs SQL sont généralement utilisés avec la clause WHERE pour définir une ou plusieurs conditions de filtrage des données.

26. Quels types d'opérateurs SQL connaissez-vous ?

  • Arithmétique (+, -, *, /, etc.)
  • Comparaison (>, <, =, >=, etc.)
  • Composé (+=, -=, *=, /=, etc.)
  • Logique (AND, OR, NOT, BETWEEN, etc.)
  • Chaîne (%, _, +, ^, etc.)
  • Ensemble (UNION, UNION ALL, INTERSECTet MINUS (ou EXCEPT))

27. Qu'est-ce qu'un alias ?

Nom temporaire donné à un tableau (ou à une colonne d'un tableau) lors de l'exécution d'une certaine requête SQL. Les alias sont utilisés pour améliorer la lisibilité du code et le rendre plus compact. Un alias est introduit par le mot-clé AS:

SELECT col_1 AS column
FROM table_name;

28. Qu'est-ce qu'une clause ?

Condition imposée à une requête SQL pour filtrer les données afin d'obtenir le résultat souhaité. Voici quelques exemples : WHERE,LIMIT,HAVING,LIKE,AND,OR,ORDER BY, etc.

29. Quelles sont les déclarations couramment utilisées avec le SELECT demande ?

Les plus courants sont FROM, GROUP BY, JOIN, WHERE, ORDER BY, LIMITet HAVING.

30. Comment créer un tableau ?

Utilisation de la déclarationCREATE TABLE. Par exemple, pour créer un tableau avec trois tableaux de types de données prédéfinis, nous appliquons la syntaxe suivante :

CREATE TABLE table_name (col_1 datatype,
                         col_2 datatype,
                         col_3 datatype);

31. Comment mettre à jour un tableau ?

Utilisation de l'instructionUPDATE. La syntaxe est la suivante :

UPDATE table_name
SET col_1 = value_1, column_2 = value_2
WHERE condition;

32. Comment supprimer un tableau d'une base de données ?

Utilisation de la déclarationDROP TABLE. La syntaxe est la suivante : DROP TABLE table_name;.

33. Comment obtenir le nombre d'enregistrements dans un tableau ?

En utilisant la fonction COUNT() avec l'astérisque comme argument : SELECT COUNT(*) FROM table_name;.

34. Comment trier les enregistrements dans un tableau ?

En utilisant la ORDER BY déclaration :

SELECT * FROM table_name
ORDER BY col_1;

Nous pouvons spécifier que nous avons besoin d'un ordre décroissant en utilisant le mot-cléDESC; sinon, l'ordre sera croissant par défaut. Il est également possible de trier sur plusieurs colonnes et de spécifier pour chacune d'entre elles l'ordre croissant ou décroissant séparément. Par exemple :

SELECT * FROM table_name
ORDER BY col_1 DESC, col_3, col_6 DESC;

35. Comment sélectionner toutes les colonnes d'un tableau ?

Utilisation de l'astérisque * avec l'instructionSELECT. La syntaxe est la suivante : SELECT * FROM table_name;.

36. Comment sélectionner des enregistrements communs à deux tableaux ?

Using the INTERSECT statement:
SELECT * FROM table_1
INTERSECT
SELECT * FROM table_1;

37. Qu'est-ce que la DISTINCT et comment l'utilisez-vous ?

Cette instruction est utilisée avec l'instructionSELECT pour filtrer les doublons et ne renvoyer que les valeurs uniques d'une colonne d'un tableau. La syntaxe est la suivante :

SELECT DISTINCT col_1
FROM table_name;

38. Qu'est-ce qu'une entité ? Donnez quelques exemples.

Une entité est un objet, une créature, un lieu ou un phénomène du monde réel pour lequel les données peuvent être rassemblées et stockées dans un tableau de base de données. Chaque entité correspond à une ligne dans un tableau, tandis que les colonnes du tableau décrivent ses propriétés. Les transactions bancaires, les élèves d'une école, les voitures vendues, etc. sont autant d'exemples d'entités.

39. Qu'est-ce qu'une relation ? Donnez quelques exemples.

Les relations sont les liens et les corrélations entre les entités, ce qui signifie essentiellement comment deux tableaux ou plus d'une base de données sont liés les uns aux autres. Par exemple, nous pouvons trouver un identifiant du même client dans un tableau sur les données de vente et dans un tableau sur les clients.

40. Qu'est-ce qu'un NULL valeur ? En quoi est-il différent de zéro ou d'un espace vide ?

La valeurNULL indique l'absence de données pour une certaine cellule d'un tableau. En revanche, zéro est une valeur numérique valide et une chaîne vide est une chaîne légale de longueur nulle.

41. Quelle est la différence entre SQL et NoSQL ?

Les bases de données SQL sont relationnelles, structurées et utilisent des tableaux avec des schémas prédéfinis, tandis que les bases de données NoSQL sont non relationnelles, sans schéma, et conçues pour traiter des données non structurées ou semi-structurées.

42. Quels sont les défis les plus courants lorsque l'on travaille avec des bases de données SQL ?

Les défis à relever comprennent l'optimisation des performances pour les grands ensembles de données, la gestion des stratégies d'indexation, la garantie de l'intégrité des données avec des contraintes, la gestion des transactions simultanées et l'optimisation de l'exécution des requêtes.

Questions d'entretien SQL intermédiaire

Dans cette section, nous examinons les questions et réponses SQL intermédiaires les plus populaires afin que vous sachiez à quoi vous attendre de la part de votre interlocuteur.

43. Qu'est-ce qu'une fonction en SQL et pourquoi utiliser des fonctions ?

Objet de base de données représentant un ensemble d'instructions SQL fréquemment utilisées pour une tâche donnée. Une fonction prend en compte certains paramètres d'entrée, effectue des calculs ou d'autres manipulations sur ces paramètres et renvoie le résultat. Les fonctions permettent d'améliorer la lisibilité du code et d'éviter la répétition des mêmes extraits de code.

44. Quels types de fonctions SQL connaissez-vous ?

  • Fonctions d'agrégation - travaillent sur plusieurs enregistrements, généralement groupés, pour les colonnes fournies d'un tableau, et renvoient une valeur unique (généralement par groupe).
  • Les fonctions scalaires - travaillent sur chaque valeur individuelle et renvoient une seule valeur.

D'autre part, les fonctions SQL peuvent être intégrées (définies par le système) ou définies par l'utilisateur (créées par l'utilisateur pour ses besoins spécifiques).

45. Quelles fonctions agrégées connaissez-vous ?

  • AVG() - renvoie la valeur moyenne
  • SUM() - renvoie la somme des valeurs
  • MIN() - renvoie la valeur minimale
  • MAX() - renvoie la valeur maximale
  • COUNT() - renvoie le nombre de lignes, y compris celles contenant des valeurs nulles
  • FIRST() - renvoie la première valeur d'une colonne
  • LAST()- renvoie la dernière valeur d'une colonne

46. Quelles fonctions scalaires connaissez-vous ?

  • LEN() (dans d'autres versions de SQL - LENGTH()) - renvoie la longueur d'une chaîne de caractères, y compris les espaces vides
  • UCASE() (dans d'autres versions de SQL - UPPER()) - renvoie une chaîne de caractères convertie en majuscules
  • LCASE() (dans d'autres versions de SQL - LOWER()) - renvoie une chaîne de caractères convertie en minuscules
  • INITCAP() - renvoie une chaîne de caractères convertie à la casse du titre (c'est-à-dire que chaque mot de la chaîne commence par une lettre majuscule)
  • MID() (dans d'autres versions de SQL - SUBSTR()) - extrait une sous-chaîne d'une chaîne de caractères
  • ROUND() - renvoie la valeur numérique arrondie au nombre de décimales spécifié
  • NOW() - renvoie la date et l'heure actuelles

47. Quelles sont les fonctions de manipulation des cas ? Donnez quelques exemples.

Les fonctions de manipulation de la casse représentent un sous-ensemble des fonctions de caractères et sont utilisées pour modifier la casse des données textuelles. Ces fonctions permettent de convertir les données en majuscules, en minuscules ou en majuscules de titre.

  • UCASE() (dans d'autres versions de SQL - UPPER()) - renvoie une chaîne de caractères convertie en majuscules
  • LCASE() (dans d'autres versions de SQL - LOWER()) - renvoie une chaîne de caractères convertie en minuscules
  • INITCAP() - renvoie une chaîne de caractères convertie à la casse titre (c'est-à-dire que chaque mot de la chaîne commence par une lettre majuscule)

48. Qu'est-ce qu'une fonction de manipulation de caractères ? Donnez quelques exemples.

Les fonctions de manipulation de caractères représentent un sous-ensemble des fonctions de caractères et sont utilisées pour modifier les données textuelles.

  • CONCAT() - joint deux ou plusieurs valeurs de chaîne en ajoutant la deuxième chaîne à la fin de la première
  • SUBSTR() - renvoie une partie d'une chaîne de caractères satisfaisant aux points de départ et d'arrivée fournis
  • LENGTH() (dans d'autres versions de SQL - LEN()) - renvoie la longueur d'une chaîne de caractères, y compris les espaces vides
  • REPLACE() - remplace toutes les occurrences d'une sous-chaîne définie dans une chaîne fournie par une autre sous-chaîne
  • INSTR() - renvoie la position numérique d'une sous-chaîne définie dans une chaîne fournie
  • LPAD() et RPAD() - renvoie l'espacement du caractère côté gauche/côté droit pour la valeur justifiée à droite/justifiée à gauche
  • TRIM() - supprime tous les caractères définis, ainsi que les espaces blancs, à gauche, à droite ou aux deux extrémités d'une chaîne fournie.

49. Quelle est la différence entre les variables locales et globales ?

Les variables locales ne sont accessibles qu'à l'intérieur de la fonction dans laquelle elles ont été déclarées. Au contraire, les variables globales, qui sont déclarées en dehors de toute fonction, sont stockées dans des structures de mémoire fixes et peuvent être utilisées dans l'ensemble du programme.

50. Quel est l'ordre des données par défaut avec le ORDER BY et comment la modifier ?

Par défaut, l'ordre est croissant. Pour passer en mode descendant, nous devons ajouter le mot-clé DESC comme suit :

SELECT * FROM table_name
ORDER BY col_1 DESC;

51. Quels sont les opérateurs d'ensembles que vous connaissez ?

  • UNION - renvoie les enregistrements obtenus par au moins l'une des deux requêtes (à l'exclusion des doublons)
  • UNION ALL - renvoie les enregistrements obtenus par au moins une des deux requêtes (y compris les doublons)
  • INTERSECT - renvoie les enregistrements obtenus par les deux requêtes
  • EXCEPT (appelée MINUS dans MySQL et Oracle) - renvoie uniquement les enregistrements obtenus par la première requête, mais pas la seconde.

52. Quel opérateur est utilisé dans la requête pour la recherche de motifs ?

L' opérateur LIKE en combinaison avec les caractères génériques% et _. Le caractère générique % représente n'importe quel nombre de caractères, y compris zéro, tandis que _ ne représente qu'un seul caractère.

53. Quelle est la différence entre une clé primaire et une clé unique ?

Si les deux types de clés garantissent des valeurs uniques dans une colonne d'un tableau, la première identifie de manière unique chaque enregistrement du tableau, tandis que la seconde empêche les doublons dans cette colonne.

54. Qu'est-ce qu'une clé primaire composite ?

Clé primaire d'un tableau, basée sur plusieurs colonnes.

55. Quel est l'ordre d'apparition des instructions communes dans la requête SELECT ?

SELECTFROMJOINONWHEREGROUP BYHAVINGORDER BYLIMIT

56. Dans quel ordre l'interpréteur exécute-t-il les instructions communes de la requête SELECT ?

FROMJOINONWHEREGROUP BYHAVINGSELECTORDER BYLIMIT

57. Qu'est-ce qu'une vue et pourquoi l'utiliser ?

Tableau virtuel contenant un sous-ensemble de données extraites d'un ou de plusieurs tableaux de la base de données (ou d'autres vues). Les vues prennent très peu de place, simplifient les requêtes complexes, limitent l'accès aux données pour des raisons de sécurité, permettent l'indépendance des données et résument les données de plusieurs tableaux.

58. Peut-on créer une vue basée sur une autre vue ?

Oui. C'est ce que l'on appelle les vues imbriquées. Cependant, nous devrions éviter d'imbriquer plusieurs vues, car le code devient difficile à lire et à déboguer.

59. Peut-on encore utiliser une vue si le tableau d'origine est supprimé ?

Non. Toutes les vues basées sur ce tableau deviendront invalides après la suppression du tableau de base. Si nous essayons quand même d'utiliser une telle vue, nous recevrons un message d'erreur.

60. Quels types de relations SQL connaissez-vous ?

  • Un à un - chaque enregistrement d'un tableau correspond à un seul enregistrement d'un autre tableau
  • Un à plusieurs - chaque enregistrement d'un tableau correspond à plusieurs enregistrements d'un autre tableau
  • Plusieurs à plusieurs - chaque enregistrement dans les deux tableaux correspond à plusieurs enregistrements dans un autre tableau

61. Quelles sont les valeurs possibles d'un champ de données BOOLEAN ?

Dans certaines versions de SQL, comme PostgreSQL, le type de données BOOLEAN existe explicitement et prend les valeurs TRUE,FALSE, ou NULL. Dans d'autres variantes, telles que Microsoft SQL Server, le type de données BIT est utilisé pour stocker des valeurs booléennes sous forme d'entiers 1 (vrai) ou 0 (faux).

62. Qu'est-ce que la normalisation en SQL et pourquoi l'utiliser ?

La normalisation est un processus de conception de base de données qui comprend l'organisation et la restructuration des données de manière à réduire la redondance, la dépendance, la duplication et l'incohérence des données. Cela permet d'améliorer l'intégrité des données, d'augmenter le nombre de tableaux dans la base de données, d'améliorer l'efficacité de l'accès aux données et du contrôle de la sécurité, et d'accroître la flexibilité des requêtes.

63. Qu'est-ce que la dénormalisation en SQL et pourquoi l'utiliser ?

La dénormalisation est le processus opposé à la normalisation : elle introduit une redondance des données et combine des données provenant de plusieurs tableaux. La dénormalisation optimise les performances de l'infrastructure de la base de données lorsque les opérations de lecture sont plus importantes que les opérations d'écriture, car elle permet d'éviter les jointures complexes et de réduire le temps d'exécution des requêtes.

67. Quelle est la différence entre renommer une colonne et lui donner un alias ?

Renommer une colonne signifie modifier de façon permanente son nom réel dans le tableau d'origine. Donner un alias à une colonne signifie lui donner un nom temporaire lors de l'exécution d'une requête SQL, dans le but de rendre le code plus lisible et plus compact.

68. Quelle est la différence entre les sous-requêtes imbriquées et corrélées ?

Une sous-requête corrélée est une requête interne imbriquée dans une requête plus importante (externe) qui fait référence aux valeurs de la requête externe pour son exécution, ce qui signifie qu'une sous-requête corrélée dépend de sa requête externe. Au contraire, une sous-requête non corrélée ne s'appuie pas sur les données de la requête externe et peut être exécutée indépendamment de celle-ci.

69. Quelle est la différence entre les index en grappe et les index non en grappe ?

Alors qu'un index en grappe définit l'ordre physique des tableaux et effectue la recherche de données sur la base des valeurs clés, un index non en grappe conserve l'ordre des tableaux qui ne correspond pas à l'ordre physique des données réelles sur le disque. Un tableau peut avoir un seul index groupé, mais plusieurs index non groupés.

70. Qu'est-ce que la CASE() fonction ?

La façon de mettre en œuvre le principe logique if-then-else en SQL. Cette fonction vérifie séquentiellement les conditions fournies dans les clauses WHEN et renvoie la valeur de la clauseTHEN correspondante lorsque la première condition est remplie. Si aucune des conditions n'est remplie, la fonction renvoie la valeur de la clause ELSE si elle est fournie, sinon elle renvoie NULL. La syntaxe est la suivante :

CASE
    WHEN condition_1 THEN value_1
    WHEN condition_2 THEN value_2
    WHEN condition_3 THEN value_3
    ...
    ELSE value
END;

71. Quelle est la différence entre le DELETE et TRUNCATE déclarations ?

DELETE est une commande DML (Data Manipulation Language) réversible utilisée pour supprimer une ou plusieurs lignes d'un tableau en fonction des conditions spécifiées dans la clauseWHERE. Au lieu de cela, TRUNCATE est une commande DDL (Data Definition Language) irréversible utilisée pour supprimer tous les tableaux. DELETE fonctionne plus lentement que TRUNCATE. De plus, nous ne pouvons pas utiliser l' instruction TRUNCATE pour un tableau contenant une clé étrangère.

72. Quelle est la différence entre le DROP et TRUNCATE déclarations ?

DROP supprime complètement un tableau de la base de données, y compris la structure du tableau et toutes les contraintes associées, les relations avec d'autres tableaux et les privilèges d'accès. TRUNCATE supprime toutes les lignes d'un tableau sans affecter la structure et les contraintes du tableau. DROP fonctionne plus lentement que TRUNCATE. Il s'agit dans les deux cas de commandes DDL (Data Definition Language) irréversibles.

73. Quelle est la différence entre le HAVING et WHERE déclarations ?

Le premier travaille sur des données agrégées après leur regroupement, tandis que le second vérifie chaque ligne individuellement. Si les deux déclarations sont présentes dans une requête, elles apparaissent dans l'ordre suivant : WHERE -GROUP BY - HAVING. Le moteur SQL les interprète également dans le même ordre.

74. Comment ajouter un enregistrement à un tableau ?

Utilisation de la déclaration INSERT INTO en combinaison avec VALUES. La syntaxe est la suivante :

INSERT INTO table_name
VALUES (value_1, value_2, ...);

75. Comment supprimer un enregistrement d'un tableau ?

Utilisation de la déclarationDELETE. La syntaxe est la suivante :

DELETE FROM table_name
WHERE condition;

De cette manière, nous pouvons également supprimer plusieurs enregistrements s'ils satisfont à la condition fournie.

76. Comment ajouter une colonne à un tableau ?

Utilisation de la déclaration ALTER TABLE en combinaison avec ADD. La syntaxe est la suivante :

ALTER TABLE table_name
ADD column_name datatype;

77. Comment renommer une colonne d'un tableau ?

L'utilisation de la ALTER TABLE en combinaison avec RENAME COLUMN ... TO ... La syntaxe est la suivante :

ALTER TABLE table_name
RENAME COLUMN old_column_name TO new_column_name;

78. Comment supprimer une colonne d'un tableau ?

Utilisation de la déclaration ALTER TABLE en combinaison avec DROP COLUMN. La syntaxe est la suivante :

ALTER TABLE table_name
DROP COLUMN column_name;

79. Comment sélectionner tous les enregistrements pairs ou tous les enregistrements impairs dans un tableau ?

En vérifiant le reste de la division par 2. Dans certaines versions de SQL (par exemple, PostgreSQL et My SQL), nous utilisons la fonction MOD, dans d'autres (Microsoft SQL Server et SQLite) - l'opérateur modulo (%). Pour sélectionner tous les enregistrements pairs à l'aide de MOD:

SELECT * FROM table_name
WHERE MOD(ID_column, 2) = 0;

Pour sélectionner tous les enregistrements pairs en utilisant %:

SELECT * FROM table_name 
WHERE ID_column % 2 = 0;

Pour sélectionner tous les enregistrements impairs, la syntaxe est identique dans les deux cas, à ceci près que nous utiliserons l'opérateur d'inégalité <> au lieu de =.

80. Comment éviter les enregistrements en double lors d'une requête ?

L'utilisation de la DISTINCT en combinaison avec SELECT ou en créant une clé unique pour ce tableau.

81. Comment insérer plusieurs tableaux dans un tableau ?

Utilisation de la déclaration INSERT INTO en combinaison avec VALUES. La syntaxe est la suivante :

INSERT INTO table_name
VALUES (value_1, value_2, ...),
      (value_3, value_4, ...),
      (value_5, value_6, ...),
      ...;

82. Comment trouver la nième valeur la plus élevée dans une colonne d'un tableau ?

Utilisation de la clauseOFFSET. Par exemple, pour trouver la 6ème valeur la plus élevée d'une colonne, nous utiliserons la syntaxe suivante :

SELECT * FROM table_name
ORDER BY column_name DESC
LIMIT 1
OFFSET 5;

83. Comment trouver les valeurs d'une colonne de texte d'un tableau qui commencent par une certaine lettre ?

En utilisant l' opérateur LIKE en combinaison avec les caractères génériques% et _. Par exemple, nous devons trouver dans un tableau tous les noms de famille commençant par "A". La question est la suivante :

SELECT * FROM table_name
WHERE surname LIKE 'A_';

Nous partons ici du principe qu'un nom de famille doit contenir au moins deux lettres. Sans cette hypothèse (c'est-à-dire qu'un nom de famille peut être simplement A), la requête est la suivante :

SELECT * FROM table_name
WHERE surname LIKE 'A%';

84. Comment trouver le dernier identifiant dans un tableau ?

Utilisation de la fonctionMAX(). Sinon, dans de nombreuses versions de SQL, on peut utiliser la syntaxe suivante :

SELECT id
FROM table_name
ORDER BY id DESC
LIMIT 1;

ou dans Microsoft SQL Server :

SELECT TOP 1 id
FROM table_name
ORDER BY id DESC

85. Comment sélectionner des tableaux au hasard ?

Utilisation de la fonction RAND() en combinaison avec ORDER BY et LIMIT. Dans certaines versions de SQL, comme PostgreSQL, elle est appelée RANDOM(). Par exemple, le code suivant renverra cinq tableaux aléatoires d'un tableau de MySQL :

SELECT * FROM table_name
ORDER BY RAND()
LIMIT 5;

Améliorer les compétences de votre équipe avec SQL

Si la préparation aux entretiens SQL est cruciale pour les demandeurs d'emploi et les responsables de recrutement, il est tout aussi important pour les entreprises d'investir dans la formation continue de leurs équipes au langage SQL. Il est plus important que jamais de pouvoir travailler avec des données. C'est pourquoi le fait de s'assurer que vos employés possèdent de solides compétences en SQL peut changer la donne pour la réussite de votre entreprise.

Si vous êtes un chef d'équipe ou un propriétaire d'entreprise qui cherche à s'assurer que toute son équipe maîtrise le langage SQL, DataCamp for Business propose des programmes de formation sur mesure qui peuvent aider vos employés à maîtriser les compétences SQL, des bases aux concepts avancés. Nous pouvons fournir :

  • Des parcours d'apprentissage ciblés: Personnalisable en fonction du niveau de compétence actuel de votre équipe et des besoins de l'entreprise.
  • Pratique: Des scénarios et des exercices en situation réelle qui renforcent l'apprentissage et améliorent la mémorisation.
  • Le cursus: Des outils pour suivre et évaluer les progrès de votre équipe, en veillant à ce qu'elle atteigne ses objectifs d'apprentissage.

Investir dans la montée en compétences SQL via des plateformes comme DataCamp permet non seulement d'améliorer les capacités de votre équipe, mais aussi d'offrir à votre entreprise un avantage stratégique, vous permettant de rester compétitif et d'obtenir des résultats. Contactez l'un des membres de notre équipe et demandez une démonstration dès aujourd'hui. 

Conclusion

En résumé, nous avons abordé les 85 questions essentielles des entretiens SQL pour débutants et intermédiaires, ainsi que les bonnes réponses à ces questions. Nous espérons que ces informations vous aideront à vous préparer à l'entretien et à vous sentir plus confiant, que vous soyez à la recherche d'un emploi dans le domaine du langage SQL ou que vous recrutiez des candidats pour un poste de niveau intermédiaire dans ce domaine.

Si vous sentez que vous avez besoin d'une formation plus poussée pour mieux vous préparer à un entretien, pensez aux cours et cursus SQL suivants de DataCamp :

Améliorez les compétences SQL de votre équipe

Formez votre équipe à SQL avec DataCamp for Business. Une formation complète, des projets pratiques et des indicateurs de performance détaillés pour votre organisation.

Demandez une démonstration dès aujourd'hui !
business-homepage-hero.png

FAQ

Comment puis-je commencer à apprendre SQL ?

Pour commencer à apprendre le langage SQL, vous devez d'abord vous familiariser avec les concepts de base de données et les systèmes de gestion de bases de données relationnelles. DataCamp dispose de nombreuses ressources pour vous aider à démarrer, comme le cours d'introduction à SQL, le cursus d'analyste de données en SQL et l'antisèche SQL. Vous pouvez également visiter la page des cours SQL pour parcourir toutes les ressources.

Où puis-je trouver des problèmes SQL concrets pour m'entraîner ?

Sur la plateforme DataCamp, il existe de nombreux projets SQL pour affiner vos compétences, adaptés à tous les niveaux.

Quelles sont les questions d'entretien les plus courantes pour les débutants en SQL ?

On demande souvent aux débutants d'expliquer les concepts SQL de base, tels que la différence entre les instructions SELECT et INSERT, le rôle des clés dans une base de données (clés primaires et clés étrangères) et les requêtes simples permettant d'extraire des données d'un seul tableau à l'aide de conditions (clauseWHERE ).

Quelles sont les questions les plus courantes posées aux praticiens intermédiaires lors d'un entretien portant sur le langage SQL ?

Les praticiens intermédiaires peuvent être confrontés à des questions sur des concepts SQL plus complexes tels que les jointures (INNER, LEFT, RIGHT, FULL), les sous-requêtes, les agrégations et le regroupement de données (GROUP BY), et l'utilisation d'opérations d'ensemble telles que UNION, INTERSECT et EXCEPT. Ils peuvent également être amenés à résoudre des problèmes qui impliquent l'optimisation des requêtes en termes de performances.

Comment dois-je me préparer à un entretien SQL ?

La préparation à un entretien SQL doit comprendre les éléments suivants

  • Révision des bases de SQL et des concepts avancés.
  • S'entraîner à rédiger des requêtes pour résoudre des problèmes courants.
  • Comprendre la conception et la normalisation des bases de données.
  • Se familiariser avec le dialecte SQL spécifique utilisé par l'employeur (par exemple, PostgreSQL, MySQL, SQL Server).
  • Résoudre des exemples de questions et de problèmes d'entretien disponibles en ligne.

À quoi dois-je m'attendre lors d'un entretien technique sur le langage SQL et comment puis-je démontrer au mieux mes compétences ?

Lors d'un entretien technique sur le langage SQL, vous pouvez vous attendre à des questions qui testent votre connaissance de la syntaxe SQL, de la conception des bases de données, de l'optimisation des requêtes et de votre capacité à résoudre des problèmes à l'aide du langage SQL. Démontrer vos compétences :

  • Entraînez-vous à expliquer votre raisonnement lorsque vous résolvez des problèmes SQL.
  • Préparez-vous à écrire des requêtes SQL sans erreur sur un tableau blanc ou dans un environnement de codage en ligne.
  • Démontrez votre compréhension de concepts complexes tels que les jointures, les sous-requêtes et les transactions à l'aide d'exemples.
  • Discutez de toute expérience concrète que vous avez acquise en travaillant avec des bases de données, en soulignant les défis que vous avez relevés ou les optimisations que vous avez mises en œuvre.

Quelle est l'importance d'apprendre des dialectes SQL spécifiques, et sur lesquels dois-je me concentrer ?

Bien que la syntaxe de base de SQL soit cohérente entre les différents SGBDR, chaque système (comme MySQL, PostgreSQL, SQL Server, Oracle) possède son propre dialecte avec des caractéristiques et des fonctions uniques. L'apprentissage d'un dialecte SQL spécifique est important si vous visez des rôles qui utilisent un SGBDR particulier. Concentrez-vous sur le dialecte le plus pertinent par rapport à vos objectifs de carrière ou le plus couramment utilisé dans votre secteur d'activité. Cependant, une base solide en SQL standard facilite l'adaptation aux différents dialectes, le cas échéant.

DataCamp propose-t-il des ressources supplémentaires GRATUITES pour préparer les entretiens SQL ?

Oui ! Si vous êtes actuellement un enseignant ou un étudiant universitaire, vous pouvez utiliser DataCamp Classrooms pour obtenir GRATUITEMENT l'ensemble de notre catalogue premium. Cela inclut nos cursus et certifications SQL.

Vous pouvez également jeter un coup d'œil à notre aide-mémoire gratuit sur les bases de SQL.


Elena Kosourova's photo
Author
Elena Kosourova
LinkedIn

IBM Certified Data Scientist (2020), auparavant géologue pétrolier/géomodélisateur de champs pétroliers et gaziers dans le monde entier avec plus de 12 ans d'expérience professionnelle internationale. Maîtrise de Python, R et SQL. Domaines d'expertise : nettoyage de données, manipulation de données, visualisation de données, analyse de données, modélisation de données, statistiques, narration, apprentissage automatique. Vaste expérience de la gestion des communautés de science des données et de la rédaction/révision d'articles et de tutoriels sur la science des données et les sujets de carrière.

Sujets

Apprenez-en plus sur SQL avec ces cours !

Cours

Introduction to SQL

2 hr
1.1M
Learn how to create and query relational databases using SQL in just two hours.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

blog

Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Vous êtes actuellement à la recherche d'un emploi qui utilise Snowflake ? Préparez-vous à répondre à ces 20 questions d'entretien sur le flocon de neige pour décrocher le poste !
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

15 min

blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates a offert plus de 20k bourses d'études à nos partenaires à but non lucratif au deuxième trimestre 2023. Découvrez comment des apprenants défavorisés et assidus ont transformé ces opportunités en réussites professionnelles qui ont changé leur vie.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

2022-2023 Rapport annuel DataCamp Classrooms

À l'aube de la nouvelle année scolaire, DataCamp Classrooms est plus motivé que jamais pour démocratiser l'apprentissage des données, avec plus de 7 650 nouveaux Classrooms ajoutés au cours des 12 derniers mois.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 min

blog

Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Découvrez le parcours inspirant de Saghar Hazinyar, diplômée de Code to Inspire, qui a surmonté les défis en Afghanistan et s'est épanouie grâce à une bourse de DataCamp Donates.
Fereshteh Forough's photo

Fereshteh Forough

4 min

blog

Nous avons fait don de bourses DataCamp Premium à un million de personnes, et ce n'est pas fini.

Réparties entre nos deux programmes d'impact social, DataCamp Classrooms et #DCDonates, les bourses offrent un accès illimité à tout ce que DataCamp Premium a à offrir.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Voir plusVoir plus