20 questions et réponses d'entrevue de requête SQL les plus courantes [Pour les débutants et les expérimentés]
Publié: 2021-07-14Vous assistez à un entretien SQL et vous vous demandez quelles sont toutes les questions et discussions que vous allez traverser ? Avant d'assister à un entretien SQL, il est préférable d'avoir une idée des types de questions d'entretien SQL qui seront posées afin de pouvoir préparer mentalement des réponses.
Pour vous aider, j'ai créé le guide des questions et réponses des entretiens SQL pour comprendre la profondeur et l'intention réelle des questions d'entretien SQL. Commençons.
Structured Query Language (SQL) est un langage de programmation populaire et largement utilisé pour gérer, manipuler et interroger des données dans des bases de données relationnelles. Bien que SQL ne soit pas exactement le langage le plus rapide pour communiquer avec les bases de données relationnelles, c'est sans aucun doute le moyen le plus efficace de gérer des données structurées.
Par rapport aux API traditionnelles en lecture-écriture telles que ISAM ou VSAM , SQL étend deux avantages principaux :
- Il vous permet d'accéder à plusieurs enregistrements à l'aide d'une seule commande.
- Il élimine le besoin de spécifier comment accéder à un enregistrement (utiliser ou non un index) à partir d'une base de données.
Une requête SQL est une question ou une demande d'accès à des données stockées dans une base de données. Une base de données stocke les informations sous forme de tableau. Ainsi, il contient des lignes et des colonnes. Alors que les champs de la base de données forment les colonnes qui dirigent la base de données sur les informations qu'elle peut stocker, les lignes contiennent les données. Voici un exemple d'ensemble de données appelé "tblAlbum" pour mettre les choses en perspective :
La source
Créons une requête SQL à l'aide de cet exemple de données. Nous nous concentrerons sur le choix des albums avec une note de 9 ou plus. Donc, nous demandons essentiellement à la requête de produire une liste de titres d'albums à partir de la base de données ayant une note égale ou supérieure à 9. Vous utiliserez des mots-clés pertinents pour obtenir la réponse souhaitée.
Les mots clés de ce scénario sont - SELECT (dictant d'extraire des informations de la base de données), FROM (la table spécifique contenant lesdites données) et WHERE (dictant les critères d'accès aux informations). Lorsque vous utilisez ces mots clés, votre requête SQL ressemblera à ceci :
SELECT albumTitle FROM tblAlbums
OÙ cote >= 9 ;
Ainsi, vous choisissez (SELECT) les données de (FROM) le tableau "tblAlbums" où (WHERE) la note de l'album est de 9 ou plus. L'instruction WHERE peut être très simple ou trop complexe s'il y a une quantité substantielle de logique imbriquée impliquée. En exécutant la requête, vous obtiendrez le résultat suivant :
Titre de l'album
Symphonie en ré mineur
Le coeur du poète
Maintenant que vous avez une compréhension de base de ce que sont les requêtes SQL et de leur fonctionnement, examinons vingt questions d'entretien sur les requêtes SQL !
Avant de commencer avec les questions d'entrevue de requête SQL, consultez ces tables de référence - nos requêtes seront basées sur ces tables.
Table EmployeeInfo :
EmpID | NomFEmp | NomEmploi | département | Projet | Adresse | Date de naissance | Le sexe |
1 | Rohit | Gupta | Administrateur | P1 | Delhi | 02/12/1979 | Homme |
2 | Rahul | Mahajan | Administrateur | P2 | Bombay | 10/10/1986 | Homme |
3 | Sonia | Banerjee | HEURE | P3 | Puné | 05/06/1983 | Femme |
4 | Ankita | Kapoor | HEURE | P4 | Chennai | 28/11/1983 | Femme |
5 | Swati | Garg | HEURE | P5 | Delhi | 06/04/1991 | Femme |
Tableau EmployeePosition :
EmpID | Emploi | Date d'adhésion | Un salaire |
1 | Exécutif | 01/04/2020 | 75000 |
2 | Directeur | 03/04/2020 | 500000 |
3 | Directeur | 02/04/2020 | 150000 |
2 | Officier | 02/04/2020 | 90000 |
1 | Directeur | 03/04/2020 | 300000 |
Questions et réponses d'entrevue de requête SQL
- Écrivez une requête pour obtenir le EmpFname de la table EmployeeInfo en majuscules en utilisant le nom d'alias comme EmpName.
La requête pour cette condition est :
SELECT UPPER(EmpFname) AS EmpName FROM EmployeeInfo ;
- Rédigez une requête pour obtenir le nombre d'employés travaillant dans le département 'RH'.
Voici la requête pour cette demande :
SELECT COUNT(*) FROM EmployeeInfo WHERE Department = 'HR';
- Quelle requête écrirez-vous pour récupérer la date actuelle ?
Pour récupérer la date actuelle, vous pouvez écrire cette requête dans le serveur SQL :
SELECT OBTENIR DATE();
Pour récupérer la date actuelle, vous pouvez écrire cette requête dans MySQL :
SELECT DATESYS();
- Écrivez une requête pour récupérer uniquement le nom du lieu (chaîne avant crochets) dans la colonne Adresse de la table EmployeeInfo.
Vous pouvez utiliser la fonction MID de MySQL pour créer la requête suivante :
SELECT MID(Adresse, 0, LOCATE('(',Adresse)) FROM EmployeeInfo ;
Vous pouvez utiliser SUBSTRING pour créer la requête suivante :
SELECT SUBSTRING(Adresse, 1, CHARINDEX('(',Adresse)) FROM EmployeeInfo ;
Lire la suite : SQL pour la science des données : pourquoi SQL
- Écrivez une requête pour créer une nouvelle table dont les données et la structure sont copiées à partir d'une autre table.
Vous pouvez utiliser la commande SELECT INTO pour créer la requête suivante :
SELECT * INTO NewTable FROM EmployeeInfo WHERE 1 = 0;
Vous pouvez utiliser la commande CREATE dans MySQL pour créer la requête suivante :
CREATE TABLE NewTable AS SELECT * FROM EmployeeInfo;
- Écrivez une requête pour afficher les noms des employés commençant par 'S'.
Voici la requête que vous devez écrire pour obtenir les noms des employés dont les noms commencent par "S" :
SELECT * FROM EmployeeInfo WHERE EmpFname LIKE 'S%';
- Écrivez une requête pour récupérer les N premiers enregistrements.
Vous pouvez écrire une requête à l'aide de la commande TOP dans SQL Server :
SELECT TOP N * FROM EmployeePosition ORDER BY Salaire DESC ;
Vous pouvez également créer une requête à l'aide de la commande LIMIT dans MySQL :
SELECT * FROM EmpPosition ORDER BY Salary DESC LIMIT N;
- Rédigez une requête pour obtenir les enregistrements pertinents de la table EmployeeInfo classés par Department dans l'ordre croissant et EmpLname dans l'ordre décroissant.
Vous devez utiliser l'instruction ORDER BY dans SQL à cette fin ;
SELECT * FROM EmployeeInfo ORDER BY Département asc, EmpFname desc ;
- Écrivez une requête pour obtenir les détails des employés dont EmpFname se termine par 'A'.
Vous pouvez utiliser l'opérateur LIKE dans SQL pour créer une requête pour ce problème :
SELECT * FROM EmployeeInfo WHERE EmpFname LIKE '____a';
10.Créez une requête pour récupérer les détails des employés ayant "DELHI" comme adresse.
SELECT * FROM EmployeeInfo WHERE Adresse LIKE 'DELHI%' ;
Lire : Top 9 des outils de science des données en 2020
- Rédigez une requête pour récupérer tous les employés qui occupent également le poste de direction.
Tout guide de questions et réponses d'entrevue SQL ne sera pas complet sans cette question.
Voici la requête pour obtenir les employés qui occupent le poste de direction :
SELECT E.EmpFnom, E.EmpLnom, P.EmpPosition
FROM EmployeeInfo E INNER JOIN EmployeePosition P ON
E.EmpID = P.EmpID AND P.EmpPosition IN ('Manager');
- Créez une requête pour générer les premier et dernier enregistrements de la table EmployeeInfo.
L'une des questions d'entretien SQL les plus courantes.
Voici la requête pour récupérer le premier enregistrement de la table EmployeeInfo :
SELECT * FROM EmployeeInfo WHERE EmpID = (SELECT MIN(EmpID) FROM EmployeeInfo);
Voici la requête pour récupérer le dernier enregistrement de la table EmployeeInfo :
SELECT * FROM EmployeeInfo WHERE EmpID = (SELECT MAX(EmpID) FROM EmployeeInfo);
- Créez une requête pour vérifier si la valeur transmise à la requête respecte le format de date des tables EmployeeInfo et EmployeePosition.
Vous pouvez utiliser la fonction IsDate() dans SQL pour vérifier si la valeur transmise respecte ou non le format spécifié. Il renvoie 1 (vrai) ou 0 (faux) en conséquence. Voici à quoi ressemblera la requête :
SÉLECTIONNER ISDATE('01/04/2020′) AS "MM/DD/YY" ;
L'exécution de cette requête renverra 0 car la valeur transmise ne correspond pas au format spécifié.
- Créez une requête pour obtenir l'affichage des employés ayant des salaires égaux ou supérieurs à 150 000.
La requête pour cette requête sera :
SELECT EmpName FROM Employés WHERE Salaire>=150000 ;
- Écrivez une requête pour récupérer l'année à l'aide d'une date.
Vous pouvez obtenir l'année à partir d'une date dans un serveur SQL en exécutant la requête suivante :
SÉLECTIONNER ANNÉE(GETDATE()) comme "Année" ;
- Créez une requête SQL pour récupérer EmpPostion et le salaire total payé pour chaque poste d'employé.
La requête pour cette requête est :
SELECT EmpPosition, SUM(Salary) from EmployeePosition GROUP BY EmpPosition ;
- Rédigez une requête pour rechercher des enregistrements en double dans une table.
L'une des questions les plus courantes dans tout guide de questions et réponses d'entretien SQL.
SELECT EmpID, EmpFname, Department COUNT(*)
FROM EmployeeInfo GROUP BY EmpID, EmpFname, Department
AYANT COMPTE(*) > 1 ;
- Créez une requête pour récupérer le troisième salaire le plus élevé de la table EmpPosition.
SÉLECTIONNER LE TOP 1 des salaires
À PARTIR DE(
SÉLECTIONNER LE TOP 3 des salaires
FROM tableau_employés
ORDER BY salaire DESC) AS emp
ORDRE PAR salaire ASC ;
- Écrivez une requête SQL pour rechercher des enregistrements pairs et impairs dans la table EmployeeInfo.
Vous devez utiliser la fonction MOD() pour récupérer les enregistrements pairs et impairs d'une table. Pour les enregistrements pairs, la requête sera :
SELECT EmpID FROM (SELECT rowno, EmpID from EmployeeInfo) WHERE MOD(rowno,2)=0 ;
Pour les enregistrements impairs, la requête sera :
SELECT EmpID FROM (SELECT rowno, EmpID from EmployeeInfo) WHERE MOD(rowno,2)=1 ;
- Créez une requête pour récupérer la liste des employés d'un même service.
Voici la requête pour cette requête :
Sélectionnez DISTINCT E.EmpID, E.EmpFname, E.DepartmentFROM EmployeeInfo E, Employee E1
WHERE E.Department = E1.Department AND E.EmpID != E1.EmpID;
Apprenez des cours 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.
Conclusion
Avec cela, nous arrivons à la fin de notre liste de questions d'entretien de requête SQL. Nous espérons que ces requêtes vous donneront une bonne idée du modèle de requête SQL standard et de la manière de créer des requêtes SQL. Plus vous pratiquez, mieux vous deviendrez à écrire des requêtes SQL pour accéder et manipuler des données dans une table de données.
Si vous êtes curieux d'améliorer vos connaissances SQL et d'en savoir plus sur le développement de la pile complète, consultez le diplôme PG de IIIT-B & upGrad en développement de logiciels Full Stack qui est créé pour les professionnels en activité 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.