19 questions et réponses d'entrevue SQL à lire absolument : pour les débutants et les expérimentés en 2022

Publié: 2021-01-07

Questions et réponses de l'entretien SQL

Votre entretien vous inquiète ? Nous vous avons couvert pour vos questions d'entrevue SQL. Ce sont quelques-unes des questions les plus fréquemment posées dans les entretiens Sql.
Quel que soit le rôle que vous choisissez dans l'industrie du logiciel et de l'informatique, les compétences SQL sont indispensables. Aujourd'hui encore, RDBMS est l'une des bases de données les plus utilisées dans le monde et, par conséquent, SQL est un élément indispensable du domaine du développement. De grands noms comme Uber, Netflix, Airbnb et bien sûr Microsoft utilisent SQL comme principal outil de gestion de base de données.

La raison pour laquelle SQL est extrêmement populaire aujourd'hui est qu'il prend en charge une multitude d'applications de traitement des transactions, d'analyses et d'opérations de veille économique dans les environnements informatiques d'entreprise.

Dans cet article, nous vous aiderons à vous familiariser avec les bases de SQL. C'est pourquoi nous avons créé une liste des questions d' entretien SQL les plus fréquemment posées. J'espère que les questions d'entretien SQL vous aideront dans vos entretiens. Ces questions d'entretien SQL vous donneront une assez bonne idée des concepts fondamentaux de SQL et de la manière dont vous devez procéder.

Principales questions et réponses des entretiens SQL

1. Définissez SQL.

SQL ou Structured Query Language est un système de gestion de base de données relationnelle créé par Microsoft. Il est explicitement conçu pour communiquer avec les bases de données. L'ANSI (American National Standards Institute) soutient que SQL est le langage de requête standard pour les systèmes de gestion de bases de données relationnelles (RDBMS).

Il n'est pas seulement utilisé pour maintenir le SGBDR, mais également pour effectuer un large éventail d'autres opérations de manipulation de données sur différents types de données. Par exemple, SQL est utilisé pour créer des bases de données, créer des tables dans une base de données, récupérer des données d'une base de données, mettre à jour des tables dans une base de données, exécuter des requêtes, etc.

Lire la suite : SQL pour la science des données : pourquoi SQL

2. Définir la base de données.

La base de données fait référence à une forme structurée de données qui est stockée sous une forme organisée dans un ordinateur pour faciliter son accès, son stockage, sa récupération et sa gestion faciles. Une base de données est essentiellement une collection de schémas, de tables, de requêtes, de vues, etc.

3. En quoi le SGBDR est-il différent du SGBD ?

RDBMS ou Relational Database Management System est différent du SGBD en ce sens que RDBMS stocke les données sous la forme d'une collection de tables dans lesquelles vous pouvez définir les relations entre les champs communs des tables alors que, dans le SGBD, vous ne pouvez pas le faire.

Contrairement au SGBDR qui stocke les données sous forme de tableau, le SGBD fonctionne davantage comme un gestionnaire de fichiers qui stocke les données dans une base de données au lieu de les enregistrer dans un système de fichiers.

RDBMS est la base de nombreux systèmes de gestion de bases de données modernes tels que MySQL, Microsoft SQL Server, Oracle, IBM DB2 et Amazon Redshift.

4. Définissez les contraintes.

En SQL, les contraintes sont utilisées pour spécifier la limite sur le type de données d'une table ou déclarer les règles concernant les données d'une table dans la base de données. Les contraintes peuvent être spécifiées pour les champs uniques et multiples dans une table SQL, soit lors de la création d'une table, soit après sa création à l'aide de la commande ALTER TABLE.

Certaines des contraintes en SQL sont :

  • NON NUL
  • CHÈQUE
  • DÉFAUT
  • UNIQUE
  • CLÉ PRIMAIRE
  • CLÉ ÉTRANGÈRE

5. Définir - Clé primaire, clé unique et clé étrangère.

Une clé primaire est une combinaison de champs qui permet de spécifier une ligne de manière unique. Une clé primaire doit avoir des valeurs uniques, et elle contient également une contrainte NOT NULL implicite, ce qui signifie qu'une clé primaire ne peut pas avoir de valeurs NULL.

Une contrainte de clé unique est utilisée pour garantir que toutes les valeurs d'une colonne sont différentes. Il aide à identifier chaque enregistrement dans une base de données de manière unique. Contrairement à la clé primaire (il n'y a qu'une seule clé primaire définie par table), il peut y avoir plusieurs contraintes uniques définies par table.

Une clé étrangère se compose d'un seul champ ou d'un ensemble de champs dans une table qui peuvent être utilisés pour faire référence à la clé primaire d'une autre table. Cette clé permet de maintenir l'intégrité référentielle dans la relation entre deux tables. Alors que la table contenant la contrainte de clé étrangère est appelée table enfant, la table contenant la clé candidate est étiquetée comme table parent.

6. Définissez Joindre. Quels sont les différents types de Join ?

Join est une clause SQL conçue pour combiner des enregistrements ou des lignes de deux tables ou plus en fonction d'une colonne liée entre elles. Join agit comme un mot-clé utilisé pour interroger les données de plusieurs tables en fonction de la relation entre les champs des tables. Ils sont principalement utilisés pour récupérer des données. Cependant, la récupération des données dépend largement de la relation entre les tables.

Il existe quatre types de jointure :

  • Jointure interne - Ceci est utilisé pour renvoyer des enregistrements ou des lignes contenant au moins une valeur correspondante entre les tables.
  • Jointure à droite - Cela renvoie les lignes qui sont une correspondance commune entre les tables et toutes les autres lignes qui se trouvent sur la table de droite. Pour le dire simplement, la jointure à droite renvoie toutes les lignes de la table de droite, indépendamment du fait qu'il n'y a pas de correspondance disponible dans la table de gauche.
  • Jointure gauche – Comme la jointure droite, la jointure gauche renvoie les lignes communes entre les tables et toutes les lignes qui se trouvent dans la table de gauche, même s'il n'y a pas de correspondance disponible dans la table de droite.
  • Jointure complète - Cette jointure renvoie des lignes lorsqu'une table unique se compose de lignes correspondantes. En d'autres termes, il crée un ensemble contenant le résultat de la jointure droite et de la jointure gauche. Par conséquent, l'ensemble de résultats comprend toutes les lignes des tables de gauche et de droite.

7. Qu'est-ce qu'un index ? Nommez les différents types d'index.

Dans SQL, un index est une méthode de réglage des performances qui permet une récupération plus rapide des enregistrements des tables. Ils accélèrent le processus de recherche dans la base de données - un index crée une entrée pour chaque valeur, ce qui accélère la récupération des données.

Les index sont utilisés pour trouver des lignes qui correspondent à certaines colonnes en parcourant uniquement ces sous-ensembles de données pour trouver les correspondances correctes.

Il existe trois types d'index :

  • Index unique - Cet index garantit que deux lignes de données dans une table n'ont pas de valeurs de clé identiques, préservant ainsi l'intégrité des données. Vous pouvez appliquer automatiquement un index unique lors de la définition de la clé primaire.
  • Index clusterisé – Cet index permet de réorganiser ou de réorganiser l'ordre physique d'une table et de rechercher en fonction des valeurs clés. Dans cet index, l'ordre des lignes contenues dans la base de données correspond à l'ordre des lignes dans l'index. C'est pourquoi une table ne peut avoir qu'un seul index clusterisé.
  • Index non clusterisé – Cet index maintient l'ordre logique des données. Il est utilisé pour créer une entité distincte dans la table qui fait référence à la table d'origine. Une table peut avoir plusieurs index non clusterisés.

8. Qu'est-ce qu'AUTO_INCREMENT ?

AUTO_INCREMENT est utilisé pour générer automatiquement un numéro unique chaque fois qu'un nouvel enregistrement est ajouté ou entré dans une table. Puisqu'une table n'a qu'une seule clé primaire, cette clé primaire est ajoutée en tant que champ AUTO_INCREMENT qui aide à incrémenter le champ chaque fois qu'un nouvel enregistrement est ajouté.

Par défaut, la valeur AUTO-INCREMENT commence à 1 et est incrémentée de 1 chaque fois qu'un nouvel enregistrement est inséré.

9. Définissez Requête et Sous-requête.

Une requête est un code écrit pour demander ou récupérer des données à partir d'une table de base de données ou de plusieurs tables. Une requête peut être une requête action ou une requête sélection.

Une sous-requête, en revanche, est une requête dans une autre requête. Elle est également appelée requête interne ou requête imbriquée. Une sous-requête est utilisée pour restreindre ou améliorer les données qui doivent être interrogées par la requête principale, limitant ou améliorant ainsi le résultat de la requête principale. Habituellement, une sous-requête est exécutée en premier et le résultat est transmis à la requête principale.

Il existe deux types de sous-requêtes :

  • Sous-requête corrélée – Cette sous-requête n'est pas une requête indépendante. Cependant, il peut faire référence à la colonne d'une table répertoriée dans le FROM de la requête principale.
  • Sous-requête non corrélée – Il s'agit d'une requête indépendante, et sa sortie est remplacée dans la requête principale.

10. Définissez le déclencheur.

Un déclencheur est un code ou un programme stocké qui est automatiquement exécuté lorsque des événements tels que l'instruction INSERT, DELETE, UPDATE (DML) se produisent. Ils peuvent également être exécutés en réponse aux déclarations de définition de données (DDL) et aux opérations de base de données telles que SERVER ERROR, LOGON, etc. Les déclencheurs aident à maintenir l'intégrité de la base de données.

11. Expliquez le rôle des propriétés ACID dans une transaction.

Les propriétés ACID sont suivies pour maintenir la cohérence dans une base de données avant et après les transactions.

  • Atomicité - Cela implique qu'une transaction doit être complétée. Il ne faut pas le laisser à mi-chemin. Si jamais une transaction échoue, la transaction entière échouera et la base de données restera inchangée.
  • Cohérence - Cela vise à maintenir les contraintes d'intégrité en validant les données saisies dans une base de données.
  • Isolation – Cette propriété vise à contrôler la concurrence.
  • Durabilité - Cette propriété garantit qu'une fois qu'une transaction est effectuée, elle reste engagée malgré tous les défis qui peuvent survenir (par exemple, une panne de courant, des erreurs internes, etc.).

12. Différenciez les commandes DELETE et TRUNCATE.

La principale différence entre les commandes DELETE et TRUNCATE est la suivante :

  • Alors que la commande DELETE est utilisée pour supprimer ou supprimer une ou plusieurs tables existantes, la commande TRUNCATE supprime toutes les données à l'intérieur d'une table.
  • DELETE est une commande DML, tandis que TRUNCATE est une commande DDL.
  • DELETE vous permet d'accomplir un déclencheur, mais TRUNCATE ne vous permet pas d'exécuter et de déclencher.
  • La commande TRUNCATE ne fonctionne pas lorsque les contraintes de clé étrangère font référence à une table. Dans de tels cas, vous devez utiliser la commande DELETE.

13. Nommez les différents sous-ensembles de SQL.

Les sous-ensembles de SQL incluent :

  • DDL (Data Definition Language) - Ce langage vous permet d'effectuer une multitude d'opérations sur la base de données, y compris des commandes SQL telles que les objets CREATE, ALTER et DELETE.
  • DML (Data Manipulation Language) - Ce langage vous permet d'accéder et de manipuler les données d'une base de données à l'aide de commandes telles que INSERT, UPDATE et DELETE.
  • DCL (Data Control Language) – Ce langage vous permet de contrôler l'accès à la base de données en utilisant des commandes telles que GRANT et REVOKE.

Lire : Top 9 des outils de science des données en 2020

14. Expliquez l'intégrité des données.

L'intégrité des données définit l'exactitude, la cohérence et la fiabilité des données stockées dans la base de données. De plus, il aide à définir des contraintes d'intégrité pour appliquer des règles métier sur les données lorsqu'elles sont insérées dans une base de données ou une application.

L'intégrité des données est de quatre types :

  • Intégrité des lignes
  • Intégrité de la colonne
  • Intégrité référentielle
  • Intégrité définie par l'utilisateur

15. Que sont les fonctions définies par l'utilisateur ? Nommez les types de fonctions définies par l'utilisateur.

Les fonctions définies par l'utilisateur sont des fonctions spécialement écrites pour utiliser une logique spécifique selon les besoins. Ces fonctions éliminent le besoin d'écrire plusieurs fois la même logique ; à la place, vous pouvez appeler ou exécuter une fonction définie par l'utilisateur chaque fois que nécessaire.

Il existe trois types de fonctions définies par l'utilisateur :

  • Fonctions scalaires.
  • Fonctions table en ligne.
  • Fonctions à valeurs multiples.

16. Définir le classement. Nommez les différents types de sensibilité au classement.

Le classement fait référence à un ensemble de règles qui déterminent la manière dont les données de caractères sont triées et comparées. Outre la définition de la séquence de caractères correcte pour trier les données de caractères, il intègre des options pour spécifier la sensibilité à la casse, les accents, les types de caractères kana et également la largeur des caractères.

Les différents types de sensibilité au classement incluent :

  • Sensibilité à la casse – Les caractères « A » et « a » sont traités différemment.
  • Sensibilité aux accents – Les caractères 'a' et ' a' sont traités différemment.
  • Sensibilité Kana - Cela traite différemment les caractères japonais Kana comme Hiragana et Katakana.
  • Sensibilité à la largeur - Cela traite différemment les caractères à un octet (demi-largeur) et les caractères à deux octets (pleine largeur).

17. Qu'entendez-vous par procédure stockée ?

Une procédure stockée est une sous-routine (code SQL) utilisée pour les applications qui accèdent au SGBDR. Il prend en charge le concept de programmation modulaire, ce qui signifie que vous pouvez créer une procédure stockée une fois, l'enregistrer et l'appeler plusieurs fois selon vos besoins.

Ces procédures sont stockées dans le dictionnaire de données de la base de données. L'avantage d'une procédure stockée est qu'elle permet une exécution plus rapide des requêtes. Cela réduit non seulement le trafic réseau, mais offre également une meilleure sécurité aux données.

Un autre avantage est que les procédures stockées sont dotées de fonctionnalités supplémentaires, car les utilisateurs qui ne peuvent pas accéder directement aux données peuvent utiliser des procédures stockées pour y accéder.

Cependant, il présente également un inconvénient - une procédure stockée ne peut être exécutée que dans une base de données, occupant généralement plus de mémoire sur le serveur de base de données.

18. Différencier les vues et les tables.

Voici quelques points de différence entre les vues et les tables :

  • Les vues font référence à une table virtuelle extraite d'une base de données, tandis qu'une table fait référence à une entité structurée contenant un nombre limité de colonnes et un nombre infini de lignes.
  • Les vues ne peuvent pas contenir de données par elles-mêmes, tandis que les tables contiennent des données et les stockent dans des bases de données.
  • Les vues vous permettent d'interroger des informations spécifiques contenues dans quelques tables distinctes. Cependant, une table contient des informations client fondamentales ainsi que des cas d'objets caractérisés.

19. Définir la table temporaire. Comment pouvez-vous en créer un ?

Une table temporaire est une table qui permet de stocker et de traiter des résultats intermédiaires. Ces tables peuvent être automatiquement supprimées lorsqu'elles ne sont plus utilisées. Les tables temporaires sont pratiques dans les situations où vous devez stocker des données temporaires.

La syntaxe pour créer une table temporaire est :

CRÉER TABLE #nom_table();

La requête ci-dessous créera une table temporaire :

créer une table #book(b_id int, b_cost int)

Maintenant, nous allons insérer les enregistrements.

insérer dans #book values(1,100)

insérer dans #book values(2,232)

sélectionnez * dans #book

Apprenez des cours de développement de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Emballer

Nous espérons que ce guide de questions et réponses d'entretien SQL vous aidera à renforcer et à élargir votre base de connaissances SQL.

Si vous êtes curieux d'en savoir plus sur SQL et sur le développement de la pile complète, consultez le programme Executive PG de IIIT-B & upGrad dans le développement de logiciels Full Stack qui est créé pour les professionnels et propose plus de 10 études de cas et projets, des travaux pratiques ateliers, mentorat avec des experts de l'industrie, 1-on-1 avec des mentors de l'industrie, plus de 400 heures d'apprentissage et d'aide à l'emploi avec les meilleures entreprises.

Diplôme PG en développement de logiciels Full Stack

Postulez maintenant pour le programme Executive PG en développement Full Stack