logo

Questions d'entretien sur les requêtes SQL

SQL ou Langage de requêtes structurées est un langage standard pour les bases de données relationnelles. Les requêtes SQL sont des outils puissants utilisés pour manipuler et gérer les données stockées dans ces bases de données, comme MySQL , Oracle , PostgreSQL , etc. Que vous récupériez des points de données spécifiques, effectuiez des analyses complexes ou modifiiez les structures de bases de données, les requêtes SQL fournissent un langage standardisé pour exécuter ces tâches efficacement.

Ici, nous couvrirons Plus de 45 questions d'entretien MySQL avec réponses qui sont fréquemment demandés lors entretiens pour Data Analyst et Ingénieur de données postes chez MAANG et d’autres entreprises bien rémunérées. Que vous soyez un plus frais ou un professionnel expérimenté avec 5 , 8 , ou 10 années d'expérience, cet article vous donne toute la confiance dont vous avez besoin pour réussir votre prochain entretien.



Questions et réponses d'entretien sur les requêtes SQL

Nous avons créé trois exemples de tableaux :Table des étudiants,Tableau du programme, etTableau des bourses. Nous utiliserons ces tables pour effectuer diverses opérations de requête.

Table des étudiants

CARTE D'ÉTUDIANT



PRÉNOM

NOM DE FAMILLE

GPA



DATE DE L'INSCRIPTION

MAJEUR

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

L'informatique

202

Umesh

Sharma

8.44

2021-09-01 08:30:00

Mathématiques

203

Rakesh

Kumar

5.60

2021-09-01 10:00:00

La biologie

204

Radha

Sharma

9h20

2021-09-01 12:45:00

Chimie

205

OMS

Kumar

7,85

2021-09-01 08:30:00

La physique

206

Prem

Chopra

9.56

2021-09-01 09:24:00

Histoire

207

Pankaj

Cuves

9.78

2021-09-01 02:30:00

Anglais

208

Navleen

Kaur

7h00

2021-09-01 06:30:00

Mathématiques

Tableau du programme

STUDENT_REF_ID

NOM DU PROGRAMME

PROGRAMME_START_DATE

201

L'informatique

2021-09-01 00:00:00

202

Mathématiques

2021-09-01 00:00:00

208

Mathématiques

2021-09-01 00:00:00

205

La physique

2021-09-01 00:00:00

204

Chimie

2021-09-01 00:00:00

207

Psychologie

2021-09-01 00:00:00

206

Histoire

2021-09-01 00:00:00

203

La biologie

2021-09-01 00:00:00

Tableau des bourses

STUDENT_REF_ID

BOURSE_AMOUNT

BOURSE_DATE

201

5000

2021-10-15 00:00:00

202

4500

2022-08-18 00:00:00

203

3000

2022-01-25 00:00:00

201

4000

2021-10-15 00:00:00

Commençons par examiner quelques-uns des questions d'entretien les plus posées sur les requêtes SQL :

1. Écrivez une requête SQL pour récupérer FIRST_NAME de la table Student en majuscules et utilisez le nom ALIAS comme STUDENT_NAME.

SELECT upper(FIRST_NAME) as STUDENT_NAME from Student;>

Sortir:

SHIVANSH UMESH RAKESH RADHA KUSH PREM PANKAJ NAVLEEN>

2. Écrivez une requête SQL pour récupérer les valeurs uniques des sujets MAJEURS de la table Student.

SELECT DISTINCT MAJOR from STUDENT; or SELECT MAJOR FROM STUDENT GROUP BY(MAJOR);>

Sortir:

Computer Science Mathematics Biology Chemistry Physics History English>

3. Écrivez une requête SQL pour imprimer les 3 premiers caractères de FIRST_NAME de la table Student.

SELECT SUBSTRING(FIRST_NAME, 1, 3) FROM Student;>

Sortir:

Shi Ume Rak Rad Kus Pre Pan Nav>

4. Écrivez une requête SQL pour trouver la position de l'alphabet (« a ») dans la colonne du prénom « Shivansh » de la table Student.

SELECT INSTR(FIRST_NAME, 'a') FROM Student WHERE FIRST_NAME = 'Shivansh';>

Sortir:

5>

5. Écrivez une requête SQL qui récupère les valeurs uniques des sujets MAJEURS de la table Student et imprimez sa longueur.

SELECT MAJOR,LENGTH(MAJOR) FROM Student GROUP BY(MAJOR); or SELECT DISTINCT MAJOR, LENGTH(MAJOR) FROM Student;>

Sortir:

MAJEUR

LONGUEUR (MAJEUR)

L'informatique

16

Mathématiques

onze

La biologie

7

Chimie

9

La physique

7

Histoire

7

Anglais

7

6. Écrivez une requête SQL pour imprimer FIRST_NAME à partir de la table Student après avoir remplacé « a » par « A ».

SELECT REPLACE(FIRST_NAME, 'a', 'A') FROM Student;>

Sortir:

ShivAnsh Umesh RAkesh RAdhA Kush Prem PAnkAj NAvleen>

7. Écrivez une requête SQL pour imprimer le FIRST_NAME et le LAST_NAME de la table Student dans une seule colonne COMPLETE_NAME.

SELECT CONCAT(FIRST_NAME, ' ', LAST_NAME) AS COMPLETE_NAME FROM Student;>

Sortir:

Shivansh Mahajan Umesh Sharma Rakesh Kumar Radha Sharma Kush Kumar Prem Chopra Pankaj Vats Navleen Kaur>

8. Écrivez une requête SQL pour imprimer tous les détails des étudiants de la table Student par ordre croissant FIRST_NAME et MAJOR Sujet décroissant.

SELECT * FROM Student ORDER BY FIRST_NAME , MAJOR DESC;>

Sortir:

CARTE D'ÉTUDIANT

PRÉNOM

NOM DE FAMILLE

GPA

DATE DE L'INSCRIPTION

MAJEUR

205

OMS

Kumar

7,85

2021-09-01 08:30:00

La physique

208

Navleen

Kaur

7

2021-09-01 06:30:00

Mathématiques

207

Pankaj

Cuves

9.78

2021-09-01 02:30:00

Anglais

206

Prem

Chopra

9.56

2021-09-01 09:24:00

Histoire

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chimie

203

Rakesh

Kumar

5.6

2021-09-01 10:00:00

La biologie

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

L'informatique

202

Umesh

Sharma

doubler en java

8.44

2021-09-01 08:30:00

Mathématiques

9. Écrivez une requête SQL pour imprimer les détails des étudiants avec le PREMIER_NOM comme « Prem » et « Shivansh » à partir de la table Student.

SELECT * from Student WHERE FIRST_NAME IN ('Prem' , 'Shivansh');>

Sortir:

CARTE D'ÉTUDIANT

PRÉNOM

NOM DE FAMILLE

GPA

DATE DE L'INSCRIPTION

MAJEUR

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

L'informatique

206

Prem

Chopra

9.56

2021-09-01 09:24:00

Histoire

10. Écrivez une requête SQL pour imprimer les détails des étudiants à l'exclusion de FIRST_NAME en tant que « Prem » et « Shivansh » de la table Student.

SELECT * from Student WHERE FIRST_NAME NOT IN ('Prem', 'Shivansh');>

Sortir:

CARTE D'ÉTUDIANT

PRÉNOM

NOM DE FAMILLE

GPA

DATE DE L'INSCRIPTION

MAJEUR

202

Umesh

Sharma

8.44

2021-09-01 08:30:00

Mathématiques

203

Rakesh

Kumar

5.6

2021-09-01 10:00:00

La biologie

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chimie

205

OMS

Kumar

7,85

2021-09-01 08:30:00

La physique

207

Pankaj

Cuves

9.78

2021-09-01 02:30:00

Anglais

208

Navleen

Kaur

7

2021-09-01 06:30:00

Mathématiques

11. Écrivez une requête SQL pour imprimer les détails des étudiants dont FIRST_NAME se termine par « a ».

SELECT * FROM Student WHERE FIRST_NAME LIKE '%a';>

Sortir:

CARTE D'ÉTUDIANT

PRÉNOM

NOM DE FAMILLE

GPA

DATE DE L'INSCRIPTION

MAJEUR

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chimie

12. Écrivez une requête SQL pour imprimer les détails des étudiants dont le FIRST_NAME se termine par « a » et contient six alphabets.

SELECT * FROM Student WHERE FIRST_NAME LIKE '_____a';>

13. Écrivez une requête SQL pour imprimer les détails des étudiants dont la moyenne générale est comprise entre 9h00 et 9h99.

SELECT * FROM Student WHERE GPA BETWEEN 9.00 AND 9.99;>

Sortir:

CARTE D'ÉTUDIANT

PRÉNOM

NOM DE FAMILLE

GPA

DATE DE L'INSCRIPTION

MAJEUR

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chimie

206

Prem

Chopra

9.56

2021-09-01 09:24:00

Histoire

207

Pankaj

Cuves

9.78

2021-09-01 02:30:00

Anglais

14. Écrivez une requête SQL pour récupérer le nombre d'étudiants ayant la matière principale « Informatique ».

SELECT Major, COUNT(*) as TOTAL_COUNT FROM Student WHERE MAJOR = 'Computer Science';>

Sortir:

MAJEUR

LE COMPTE TOTAL

L'informatique

1

15. Écrivez une requête SQL pour récupérer les noms complets des étudiants avec GPA>= 8,5 et <= 9,5.

SELECT CONCAT(FIRST_NAME, ' ', LAST_NAME) AS FULL_NAME FROM Student WHERE GPA BETWEEN 8.5 and 9.5;>

Sortir:

Shivansh Mahajan Radha Sharma>

16. Écrivez une requête SQL pour récupérer le numéro. des étudiants pour chaque matière MAJEURE par ordre décroissant.

SELECT MAJOR, COUNT(MAJOR) from Student group by MAJOR order by COUNT(MAJOR);>

Sortir:

MAJEUR

COMTE (MAJEUR)

La biologie

1

Chimie

1

L'informatique

1

Anglais

1

Histoire

1

La physique

1

Mathématiques

2

17. Affichez les détails des étudiants qui ont reçu des bourses, y compris leurs noms, le montant des bourses et les dates des bourses.

SELECT Student.FIRST_NAME, Student.LAST_NAME, Scholarship.SCHOLARSHIP_AMOUNT, Scholarship.SCHOLARSHIP_DATE FROM Student INNER JOIN Scholarship ON Student.STUDENT_ID = Scholarship.STUDENT_REF_ID;>

Sortir:

PRÉNOM NOM DE FAMILLE BOURSE_AMOUNT BOURSE_DATE
Shivansh Mahajan 5000 2021-10-15 00:00:00
Umesh Sharma 4500 2022-08-18 00:00:00
Rakesh Kumar 3000 2022-01-25 00:00:00
Shivansh Mahajan 4000 2021-10-15 00:00:00

18. Écrivez une requête SQL pour afficher uniquement les lignes impaires de la table Student.

SELECT * FROM Student WHERE student_id % 2 != 0;>

Sortir:

CARTE D'ÉTUDIANT

PRÉNOM

NOM DE FAMILLE

GPA

DATE DE L'INSCRIPTION

MAJEUR

201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 L'informatique
203 Rakesh Kumar 5.6 2021-09-01 10:00:00 La biologie
205 OMS Kumar 7,85 2021-09-01 08:30:00 La physique
207 Pankaj Cuves 9.78 2021-09-01 02:30:00 Anglais

19. Écrivez une requête SQL pour afficher uniquement les lignes paires de la table Student.

SELECT * FROM Student WHERE student_id % 2 = 0;>

Sortir:

CARTE D'ÉTUDIANT

PRÉNOM

NOM DE FAMILLE

GPA

DATE DE L'INSCRIPTION

MAJEUR

202 Umesh Sharma 8.44 2021-09-01 08:30:00 Mathématiques
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chimie
206 Prem Chopra 9.56 2021-09-01 09:24:00 Histoire
208 Navleen Kaur 7 2021-09-01 06:30:00 Mathématiques

20. Énumérez tous les étudiants et le montant de leurs bourses s'ils en ont reçu. Si un étudiant n'a pas reçu de bourse, affichez NULL pour les détails de la bourse.

SELECT Student.FIRST_NAME, Student.LAST_NAME, COALESCE(Scholarship.SCHOLARSHIP_AMOUNT, NULL) AS SCHOLARSHIP_AMOUNT, COALESCE(Scholarship.SCHOLARSHIP_DATE, NULL) AS SCHOLARSHIP_DATE FROM Student LEFT JOIN Scholarship ON Student.STUDENT_ID = Scholarship.STUDENT_REF_ID;>

21. Écrivez une requête SQL pour afficher les n premiers enregistrements (disons 5) de l'ordre de la table Student par GPA décroissant.

SELECT * from Student ORDER BY GPA DESC LIMIT 5;>

Sortir:

CARTE D'ÉTUDIANT

PRÉNOM

NOM DE FAMILLE

GPA

DATE DE L'INSCRIPTION

MAJEUR

207 Pankaj Cuves 9.78 2021-09-01 02:30:00 Anglais
206 Prem Chopra 9.56 2021-09-01 09:24:00 Histoire
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chimie
201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 L'informatique
202 Umesh Sharma 8.44 2021-09-01 08:30:00 Mathématiques

22. Écrivez une requête SQL pour déterminer le nième (disons n = 5) GPA le plus élevé d'une table.

SELECT * FROM Student ORDER BY GPA DESC LIMIT 5, 1;>

Sortir:

CARTE D'ÉTUDIANT

PRÉNOM

NOM DE FAMILLE

GPA

DATE DE L'INSCRIPTION

MAJEUR

205 OMS Kumar 7,85 2021-09-01 08:30:00 La physique

23. Écrivez une requête SQL pour déterminer le 5ème GPA le plus élevé sans utiliser le mot-clé LIMIT.

SELECT * FROM Student s1 WHERE 4 = ( SELECT COUNT(DISTINCT (s2.GPA)) FROM Student s2 WHERE s2.GPA>= s1.GPA );>

Sortir:

CARTE D'ÉTUDIANT

PRÉNOM

NOM DE FAMILLE

GPA

DATE DE L'INSCRIPTION

MAJEUR

201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 L'informatique

24. Écrivez une requête SQL pour récupérer la liste des étudiants avec le même GPA.

SELECT s1.* FROM Student s1, Student s2 WHERE s1.GPA = s2.GPA AND s1.Student_id != s2.Student_id;>

25. Écrivez une requête SQL pour afficher le deuxième GPA le plus élevé d'une table Student à l'aide d'une sous-requête.

SELECT MAX(GPA) FROM Student WHERE GPA NOT IN(SELECT MAX(GPA) FROM Student);>

Sortir:

9.56>

26. Écrivez une requête SQL pour afficher deux fois une ligne dans les résultats d'une table.

SELECT * FROM Student UNION ALL SELECT * FROM Student ORDER BY STUDENT_ID;>

27. Écrivez une requête SQL pour répertorier STUDENT_ID qui n'obtient pas de bourse.

SELECT STUDENT_ID FROM Student WHERE STUDENT_ID NOT IN (SELECT STUDENT_REF_ID FROM Scholarship);>

Sortir:

204 205 206 207 208>

28. Écrivez une requête SQL pour récupérer les 50 premiers enregistrements d'une table.

SELECT * FROM Student WHERE STUDENT_ID <= (SELECT COUNT(STUDENT_ID)/2 FROM Student);>

29. Écrivez une requête SQL pour récupérer le sujet MAJEUR qui contient moins de 4 personnes.

SELECT MAJOR, COUNT(MAJOR) AS MAJOR_COUNT FROM Student GROUP BY MAJOR HAVING COUNT(MAJOR) <4;>

Sortir:

MAJEUR MAJOR_COUNT
La biologie 1
Chimie 1
L'informatique 1
Anglais 1
Histoire 1
Mathématiques 2
La physique 1

30. Écrivez une requête SQL pour afficher tous les sujets MAJEURS ainsi que le nombre de personnes qui s'y trouvent.

SELECT MAJOR, COUNT(MAJOR) AS ALL_MAJOR FROM Student GROUP BY MAJOR;>

Sortir:

MAJEUR ALL_MAJOR
La biologie 1
Chimie 1
L'informatique 1
Anglais 1
Histoire 1
Mathématiques 2
La physique 1

31. Écrivez une requête SQL pour afficher le dernier enregistrement d'une table.

SELECT * FROM Student WHERE STUDENT_ID = (SELECT MAX(STUDENT_ID) FROM STUDENT);>

Sortir:

CARTE D'ÉTUDIANT PRÉNOM NOM DE FAMILLE GPA DATE DE L'INSCRIPTION MAJEUR
208 Navleen Kaur 7 2021-09-01 06:30:00 Mathématiques

32. Écrivez une requête SQL pour récupérer la première ligne d'une table.

SELECT * FROM Student WHERE STUDENT_ID = (SELECT MIN(STUDENT_ID) FROM Student);>

Sortir:

CARTE D'ÉTUDIANT PRÉNOM NOM DE FAMILLE GPA DATE DE L'INSCRIPTION MAJEUR
201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 L'informatique

33. Écrivez une requête SQL pour récupérer les cinq derniers enregistrements d'une table.

SELECT * FROM ( SELECT * FROM Student ORDER BY STUDENT_ID DESC LIMIT 5 ) AS subquery ORDER BY STUDENT_ID;>

Sortir:

CARTE D'ÉTUDIANT PRÉNOM NOM DE FAMILLE GPA DATE DE L'INSCRIPTION MAJEUR
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chimie
205 OMS Kumar 7,85 2021-09-01 08:30:00 La physique
206 Prem Chopra 9.56 2021-09-01 09:24:00 Histoire
207 Pankaj Cuves 9.78 2021-09-01 02:30:00 Anglais
208 Navleen Kaur 7 2021-09-01 06:30:00 Mathématiques

34. Écrivez une requête SQL pour récupérer trois GPA maximum à partir d'une table à l'aide d'une sous-requête co-liée.

SELECT DISTINCT GPA FROM Student S1 WHERE 3>= (SELECT COUNT(DISTINCT GPA) FROM Étudiant S2 OÙ S1.GPA<= S2.GPA) ORDER BY S1.GPA DESC;>

Sortir:

9.78 9.56 9.2>

35. Écrivez une requête SQL pour récupérer trois minutes de GPA à partir d'une table à l'aide d'une sous-requête co-liée.

SELECT DISTINCT GPA FROM Student S1 WHERE 3>= (SELECT COUNT(DISTINCT GPA) FROM Student S2 WHERE S1.GPA>= S2.GPA) ORDER BY S1.GPA;>

Sortir:

5.6 7 7.85>

36. Écrivez une requête SQL pour récupérer le nième GPA maximum d'une table.

SELECT DISTINCT GPA FROM Student S1 WHERE n>= (SELECT COUNT(DISTINCT GPA) FROM Étudiant S2 OÙ S1.GPA<= S2.GPA) ORDER BY S1.GPA DESC;>

37. Écrivez une requête SQL pour récupérer les sujets MAJEURS ainsi que le GPA maximum dans chacun de ces sujets MAJEURS.

SELECT MAJOR, MAX(GPA) as MAXGPA FROM Student GROUP BY MAJOR;>

Sortir:

MAJEUR MAXGPA
La biologie 5.6
Chimie 9.2
L'informatique 8,79
Anglais 9.78
Histoire 9.56
Mathématiques 8.44
La physique 7,85

38. Écrivez une requête SQL pour récupérer les noms des étudiants ayant le GPA le plus élevé.

SELECT FIRST_NAME, GPA FROM Student WHERE GPA = (SELECT MAX(GPA) FROM Student);>

Sortir:

PRÉNOM GPA
Pankaj 9.78

39. Écrivez une requête SQL pour afficher la date et l'heure actuelles.

Query to get current date : SELECT CURDATE(); Query to get current date and time : SELECT NOW();>

40. Écrivez une requête pour créer une nouvelle table composée de données et de structures copiées de l'autre table (par exemple Student) ou clonez la table nommée Student.

CREATE TABLE CloneTable AS SELECT * FROM Student;>

41. Écrivez une requête SQL pour mettre à jour le GPA de tous les étudiants en MAJEUR « Informatique » sous réserve de 7.5.

UPDATE Student SET GPA = 4.0 WHERE MAJOR = 'Computer Science';>

42. Écrivez une requête SQL pour trouver le GPA moyen pour chaque spécialité.

SELECT MAJOR, AVG(GPA) AS AVERAGE_GPA FROM Student GROUP BY MAJOR;>

Sortir:

MAJEUR MOYENNE_GPA
La biologie 5.6
Chimie 9.2
L'informatique 4
Anglais 9.78
Histoire 9.56
Mathématiques 7,72
La physique 7,85

43. Écrivez une requête SQL pour afficher les 3 meilleurs étudiants avec la moyenne cumulative la plus élevée.

SELECT * FROM Student ORDER BY GPA DESC LIMIT 3;>

Sortir:

CARTE D'ÉTUDIANT PRÉNOM NOM DE FAMILLE GPA DATE DE L'INSCRIPTION MAJEUR
207 Pankaj Cuves 9.78 2021-09-01 02:30:00 Anglais
206 Prem Chopra 9.56 2021-09-01 09:24:00 Histoire
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chimie

44. Écrivez une requête SQL pour trouver le nombre d'étudiants dans chaque spécialité qui ont une moyenne cumulative supérieure à 7,5.

SELECT MAJOR, COUNT(STUDENT_ID) AS HIGH_GPA_COUNT FROM Student WHERE GPA>3.5 GROUPER PAR MAJEUR ;>

Sortir:

MAJEUR HIGH_GPA_COUNT
La biologie 1
Chimie 1
L'informatique 1
Anglais 1
Histoire 1
Mathématiques 2
La physique 1

45. Écrivez une requête SQL pour trouver les étudiants qui ont le même GPA que « Shivansh Mahajan ».

SELECT * FROM Student WHERE GPA = (SELECT GPA FROM Student WHERE FIRST_NAME = 'Shivansh' AND LAST_NAME = 'Mahajan');>

Sortir:

CARTE D'ÉTUDIANT PRÉNOM NOM DE FAMILLE GPA DATE DE L'INSCRIPTION MAJEUR
201 Shivansh Mahajan 4 2021-09-01 09:30:00 L'informatique

Conclusion

En résumé, la maîtrise des questions d'entretien sur les requêtes SQL est essentielle pour quiconque cherche à exceller dans des rôles tels que les analystes de données, les ingénieurs de données et les analystes commerciaux. Ce guide a fourni une collection complète de questions et de réponses d'entretien sur des requêtes SQL conçues pour vous préparer minutieusement à vos entretiens.

En comprenant et en pratiquant ces requêtes, vous pouvez démontrer votre maîtrise de SQL, une compétence essentielle qui sous-tend la réussite de la manipulation et de l'analyse des données dans divers secteurs axés sur la technologie.