Preguntas de la entrevista sobre consultas SQL

SQL o lenguaje de consulta estructurado Es un lenguaje estándar para bases de datos relacionales. Las consultas SQL son herramientas poderosas que se utilizan para manipular y administrar datos almacenados en estas bases de datos como mysql , Oráculo , PostgreSQL , etc. Ya sea que esté recuperando puntos de datos específicos, realizando análisis complejos o modificando estructuras de bases de datos, las consultas SQL proporcionan un lenguaje estandarizado para ejecutar estas tareas de manera eficiente.

Aquí cubriremos Más de 45 preguntas de la entrevista MySQL con respuestas que se preguntan comúnmente durante entrevistas para analista de datos y Ingeniero de datos puestos en MAANG y otras empresas bien remuneradas. Si eres un novato o un profesional con experiencia con 5 , 8 , o 10 años de experiencia, este artículo le brinda toda la confianza que necesita para triunfar en su próxima entrevista.

Preguntas y respuestas de la entrevista de consulta SQL

Hemos creado tres tablas de muestra: Mesa de estudiantes , Tabla de programas , y Mesa de Becas . Usaremos estas tablas para realizar varias operaciones de consulta.

Mesa de estudiantes

IDENTIFICACIÓN DEL ESTUDIANTE

NOMBRE DE PILA

APELLIDO

GPA

FECHA DE INSCRIPCIÓN

IMPORTANTE

201

Shivansh

majan

8.79

2021-09-01 09:30:00

Ciencias de la Computación

202

umesh

sharma

8.44

2021-09-01 08:30:00

Matemáticas

203

Rakesh

Kumar

5.60

2021-09-01 10:00:00

Biología

204

radha

sharma

9.20

2021-09-01 12:45:00

Química

205

OMS

Kumar

7.85

2021-09-01 08:30:00

Física

206

prem

chopra

9.56

2021-09-01 09:24:00

Historia

207

Pankaj

Cubas

9.78

2021-09-01 02:30:00

Inglés

208

Navleen

Kaur

7.00

2021-09-01 06:30:00

Matemáticas

Tabla de programas

ESTUDIANTE_REF_ID

NOMBRE_PROGRAMA

PROGRAM_START_DATE

201

Ciencias de la Computación

2021-09-01 00:00:00

202

Matemáticas

2021-09-01 00:00:00

208

Matemáticas

2021-09-01 00:00:00

205

Física

2021-09-01 00:00:00

204

Química

2021-09-01 00:00:00

207

Psicología

2021-09-01 00:00:00

206

Historia

2021-09-01 00:00:00

203

Biología

2021-09-01 00:00:00

Mesa de Becas

ESTUDIANTE_REF_ID

BECA_CANTIDAD

BECA_FECHA

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

Comencemos echando un vistazo a algunos de los preguntas más frecuentes de la entrevista de consulta SQL :

1. Escriba una consulta SQL para obtener PRIMER_NOMBRE de la tabla Estudiante en mayúsculas y use el nombre ALIAS como ESTUDIANTE_NOMBRE.

SELECT upper(FIRST_NAME) as STUDENT_NAME from Student; 

Producción:

SHIVANSH UMESH RAKESH RADHA KUSH PREM PANKAJ NAVLEEN 

2. Escriba una consulta SQL para obtener valores únicos de Materias PRINCIPALES de la tabla de Estudiantes.

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

Producción:

Computer Science Mathematics Biology Chemistry Physics History English 

3. Escriba una consulta SQL para imprimir los primeros 3 caracteres de PRIMER_NOMBRE de la tabla de Estudiantes.

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

Producción:

Shi Ume Rak Rad Kus Pre Pan Nav 

4. Escriba una consulta SQL para encontrar la posición del alfabeto ('a') en la columna del nombre 'Shivansh' de la tabla de Estudiantes.

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

Producción:

5 

5. Escriba una consulta SQL que obtenga los valores únicos de PRINCIPALES Materias de la tabla de Estudiantes e imprima su longitud.

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

Producción:

IMPORTANTE

LONGITUD (MAYOR)

Ciencias de la Computación

16

Matemáticas

11

Biología

7

Química

9

Física

7

Historia

7

Inglés

7

6. Escriba una consulta SQL para imprimir FIRST_NAME de la tabla Student después de reemplazar 'a' con 'A'.

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

Producción:

ShivAnsh Umesh RAkesh RAdhA Kush Prem PAnkAj NAvleen 

7. Escriba una consulta SQL para imprimir FIRST_NAME y LAST_NAME de la tabla Student en una sola columna COMPLETE_NAME.

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

Producción:

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

8. Escriba una consulta SQL para imprimir todos los detalles del Estudiante desde el orden de la tabla de Estudiantes por FIRST_NAME Ascendente y PRINCIPAL Asunto descendente.

SELECT * FROM Student ORDER BY FIRST_NAME , MAJOR DESC; 

Producción:

IDENTIFICACIÓN DEL ESTUDIANTE

NOMBRE DE PILA

APELLIDO

GPA

FECHA DE INSCRIPCIÓN

IMPORTANTE

205

OMS

Kumar

7.85

2021-09-01 08:30:00

Física

208

Navleen

Kaur

7

2021-09-01 06:30:00

Matemáticas

207

Pankaj

Cubas

9.78

2021-09-01 02:30:00

Inglés

206

prem

chopra

9.56

2021-09-01 09:24:00

Historia

204

radha

sharma

9.2

2021-09-01 12:45:00

Química

203

Rakesh

Kumar

5.6

2021-09-01 10:00:00

Biología

201

Shivansh

majan

8.79

2021-09-01 09:30:00

Ciencias de la Computación

202

umesh

sharma

8.44

2021-09-01 08:30:00

Matemáticas

9. Escriba una consulta SQL para imprimir los detalles de los estudiantes con el PRIMER_NOMBRE como 'Prem' y 'Shivansh' de la tabla de estudiantes.

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

Producción:

IDENTIFICACIÓN DEL ESTUDIANTE

NOMBRE DE PILA

APELLIDO

GPA

FECHA DE INSCRIPCIÓN

IMPORTANTE

201

Shivansh

majan

8.79

2021-09-01 09:30:00

Ciencias de la Computación

206

prem

chopra

9.56

2021-09-01 09:24:00

Historia

10. Escriba una consulta SQL para imprimir los detalles de los estudiantes excluyendo FIRST_NAME como 'Prem' y 'Shivansh' de la tabla de estudiantes.

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

Producción:

IDENTIFICACIÓN DEL ESTUDIANTE

NOMBRE DE PILA

APELLIDO

GPA

FECHA DE INSCRIPCIÓN

IMPORTANTE

202

umesh

sharma

8.44

2021-09-01 08:30:00

Matemáticas

203

Rakesh

Kumar

5.6

2021-09-01 10:00:00

Biología

204

radha

sharma

9.2

2021-09-01 12:45:00

Química

205

OMS

Kumar

7.85

2021-09-01 08:30:00

Física

207

Pankaj

Cubas

9.78

2021-09-01 02:30:00

Inglés

208

Navleen

Kaur

7

2021-09-01 06:30:00

Matemáticas

11. Escriba una consulta SQL para imprimir los detalles de los estudiantes cuyo PRIMER_NOMBRE termina con 'a'.

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

Producción:

IDENTIFICACIÓN DEL ESTUDIANTE

NOMBRE DE PILA

APELLIDO

GPA

FECHA DE INSCRIPCIÓN

IMPORTANTE

204

radha

sharma

9.2

2021-09-01 12:45:00

Química

12. Escriba una consulta SQL para imprimir los detalles de los estudiantes cuyo PRIMER_NOMBRE termina con 'a' y contiene seis alfabetos.

SELECT * FROM Student WHERE FIRST_NAME LIKE '_____a'; 

13. Escriba una consulta SQL para imprimir los detalles de los estudiantes cuyo GPA se encuentra entre 9,00 y 9,99.

SELECT * FROM Student WHERE GPA BETWEEN 9.00 AND 9.99; 

Producción:

IDENTIFICACIÓN DEL ESTUDIANTE

NOMBRE DE PILA

APELLIDO

GPA

FECHA DE INSCRIPCIÓN

IMPORTANTE

204

radha

sharma

9.2

2021-09-01 12:45:00

Química

206

prem

chopra

9.56

2021-09-01 09:24:00

Historia

207

Pankaj

Cubas

9.78

2021-09-01 02:30:00

Inglés

14. Escriba una consulta SQL para obtener el recuento de estudiantes con la asignatura principal 'Ciencias de la Computación'.

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

Producción:

IMPORTANTE

CUENTA TOTAL

Ciencias de la Computación

1

15. Escriba una consulta SQL para buscar los nombres completos de los estudiantes con GPA>= 8,5 y <= 9,5.

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

Producción:

Shivansh Mahajan Radha Sharma 

16. Escriba una consulta SQL para recuperar el número. de estudiantes para cada materia PRINCIPAL en orden descendente.

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

Producción:

IMPORTANTE

RECUENTO (MAYOR)

Biología

1

Química

1

Ciencias de la Computación

1

Inglés

1

Historia

1

Física

1

Matemáticas

2

17. Muestre los detalles de los estudiantes que han recibido becas, incluidos sus nombres, montos de las becas y fechas de las becas.

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; 

Producción:

NOMBRE DE PILA APELLIDO BECA_CANTIDAD BECA_FECHA
Shivansh majan 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 majan 4000 2021-10-15 00:00:00

18. Escriba una consulta SQL para mostrar solo las filas impares de la tabla de Estudiantes.

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

Producción:

IDENTIFICACIÓN DEL ESTUDIANTE

NOMBRE DE PILA

APELLIDO

GPA

FECHA DE INSCRIPCIÓN

IMPORTANTE

201 Shivansh majan 8.79 2021-09-01 09:30:00 Ciencias de la Computación
203 Rakesh Kumar 5.6 2021-09-01 10:00:00 Biología
205 OMS Kumar 7.85 2021-09-01 08:30:00 Física
207 Pankaj Cubas 9.78 2021-09-01 02:30:00 Inglés

19. Escriba una consulta SQL para mostrar solo filas pares de la tabla de Estudiantes.

SELECT * FROM Student WHERE student_id % 2 = 0; 

Producción:

IDENTIFICACIÓN DEL ESTUDIANTE

NOMBRE DE PILA

APELLIDO

GPA

FECHA DE INSCRIPCIÓN

IMPORTANTE

202 umesh sharma 8.44 2021-09-01 08:30:00 Matemáticas
204 radha sharma 9.2 2021-09-01 12:45:00 Química
206 prem chopra 9.56 2021-09-01 09:24:00 Historia
208 Navleen Kaur 7 2021-09-01 06:30:00 Matemáticas

20. Enumere todos los estudiantes y los montos de sus becas, si han recibido alguna. Si un estudiante no ha recibido una beca, muestre NULL para obtener los detalles de la beca.

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. Escriba una consulta SQL para mostrar los n primeros registros (digamos 5) del orden de la tabla de Estudiantes por GPA descendente.

SELECT * from Student ORDER BY GPA DESC LIMIT 5; 

Producción:

IDENTIFICACIÓN DEL ESTUDIANTE

NOMBRE DE PILA

APELLIDO

GPA

FECHA DE INSCRIPCIÓN

IMPORTANTE

207 Pankaj Cubas 9.78 2021-09-01 02:30:00 Inglés
206 prem chopra 9.56 2021-09-01 09:24:00 Historia
204 radha sharma 9.2 2021-09-01 12:45:00 Química
201 Shivansh majan 8.79 2021-09-01 09:30:00 Ciencias de la Computación
202 umesh sharma 8.44 2021-09-01 08:30:00 Matemáticas

22. Escriba una consulta SQL para determinar el enésimo (digamos n=5) GPA más alto de una tabla.

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

Producción:

IDENTIFICACIÓN DEL ESTUDIANTE

NOMBRE DE PILA

APELLIDO

GPA

FECHA DE INSCRIPCIÓN

IMPORTANTE

205 OMS Kumar 7.85 2021-09-01 08:30:00 Física

23. Escriba una consulta SQL para determinar el quinto GPA más alto sin utilizar la palabra clave LIMIT.

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

Producción:

IDENTIFICACIÓN DEL ESTUDIANTE

NOMBRE DE PILA

APELLIDO

GPA

FECHA DE INSCRIPCIÓN

IMPORTANTE

201 Shivansh majan 8.79 2021-09-01 09:30:00 Ciencias de la Computación

24. Escriba una consulta SQL para obtener la lista de estudiantes con el mismo GPA.

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

25. Escriba una consulta SQL para mostrar el segundo GPA más alto de una tabla de Estudiantes utilizando una subconsulta.

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

Producción:

9.56 

26. Escriba una consulta SQL para mostrar una fila dos veces en los resultados de una tabla.

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

27. Escriba una consulta SQL para enumerar STUDENT_ID que no recibe la beca.

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

Producción:

204 205 206 207 208 

28. Escriba una consulta SQL para recuperar el primer 50% de los registros de una tabla.

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

29. Escriba una consulta SQL para buscar el tema PRINCIPAL que tiene menos de 4 personas.

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

Producción:

IMPORTANTE MAYOR_COUNT
Biología 1
Química 1
Ciencias de la Computación 1
Inglés 1
Historia 1
Matemáticas 2
Física 1

30. Escriba una consulta SQL para mostrar todos los temas PRINCIPALES junto con la cantidad de personas allí.

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

Producción:

IMPORTANTE TODOS MAYORES
Biología 1
Química 1
Ciencias de la Computación 1
Inglés 1
Historia 1
Matemáticas 2
Física 1

31. Escriba una consulta SQL para mostrar el último registro de una tabla.

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

Producción:

IDENTIFICACIÓN DEL ESTUDIANTE NOMBRE DE PILA APELLIDO GPA FECHA DE INSCRIPCIÓN IMPORTANTE
208 Navleen Kaur 7 2021-09-01 06:30:00 Matemáticas

32. Escriba una consulta SQL para buscar la primera fila de una tabla.

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

Producción:

IDENTIFICACIÓN DEL ESTUDIANTE NOMBRE DE PILA APELLIDO GPA FECHA DE INSCRIPCIÓN IMPORTANTE
201 Shivansh majan 8.79 2021-09-01 09:30:00 Ciencias de la Computación

33. Escriba una consulta SQL para recuperar los últimos cinco registros de una tabla.

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

Producción:

IDENTIFICACIÓN DEL ESTUDIANTE NOMBRE DE PILA APELLIDO GPA FECHA DE INSCRIPCIÓN IMPORTANTE
204 radha sharma 9.2 2021-09-01 12:45:00 Química
205 OMS Kumar 7.85 2021-09-01 08:30:00 Física
206 prem chopra 9.56 2021-09-01 09:24:00 Historia
207 Pankaj Cubas 9.78 2021-09-01 02:30:00 Inglés
208 Navleen Kaur 7 2021-09-01 06:30:00 Matemáticas

34. Escriba una consulta SQL para obtener tres GPA máximos de una tabla utilizando una subconsulta correlacionada.

SELECT DISTINCT GPA FROM Student S1 WHERE 3>= (SELECCIONE RECUENTO (GPA DISTINTO) DEL Estudiante S2 DONDE S1.GPA <= S2.GPA) ORDER BY S1.GPA DESC; 

Producción:

9.78 9.56 9.2 

35. Escriba una consulta SQL para obtener un GPA mínimo de tres de una tabla utilizando una subconsulta correlacionada.

SELECT DISTINCT GPA FROM Student S1 WHERE 3>= (SELECCIONAR CONTAR(GPA DISTINTO) DEL Estudiante S2 DONDE S1.GPA>= S2.GPA) ORDENAR POR S1.GPA; 

Producción:

5.6 7 7.85 

36. Escriba una consulta SQL para obtener el enésimo GPA máximo de una tabla.

SELECT DISTINCT GPA FROM Student S1 WHERE n>= (SELECCIONE RECUENTO (GPA DISTINTO) DEL Estudiante S2 DONDE S1.GPA <= S2.GPA) ORDER BY S1.GPA DESC; 

37. Escriba una consulta SQL para buscar materias PRINCIPALES junto con el GPA máximo en cada una de estas materias PRINCIPALES.

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

Producción:

IMPORTANTE MAXGPA
Biología 5.6
Química 9.2
Ciencias de la Computación 8.79
Inglés 9.78
Historia 9.56
Matemáticas 8.44
Física 7.85

38. Escriba una consulta SQL para buscar los nombres de los estudiantes que tienen el GPA más alto.

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

Producción:

NOMBRE DE PILA GPA
Pankaj 9.78

39. Escriba una consulta SQL para mostrar la fecha y hora actuales.

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

40. Escriba una consulta para crear una nueva tabla que consta de datos y estructura copiados de la otra tabla (por ejemplo, Estudiante) o clone la tabla denominada Estudiante.

CREATE TABLE CloneTable AS SELECT * FROM Student; 

41. Escriba una consulta SQL para actualizar el GPA de todos los estudiantes en 'Ciencias de la Computación' PRINCIPAL materia hasta 7.5.

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

42. Escriba una consulta SQL para encontrar el GPA promedio para cada especialización.

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

Producción:

IMPORTANTE PROMEDIO_GPA
Biología 5.6
Química 9.2
Ciencias de la Computación 4
Inglés 9.78
Historia 9.56
Matemáticas 7.72
Física 7.85

43. Escriba una consulta SQL para mostrar los 3 mejores estudiantes con el GPA más alto.

SELECT * FROM Student ORDER BY GPA DESC LIMIT 3; 

Producción:

IDENTIFICACIÓN DEL ESTUDIANTE NOMBRE DE PILA APELLIDO GPA FECHA DE INSCRIPCIÓN IMPORTANTE
207 Pankaj Cubas 9.78 2021-09-01 02:30:00 Inglés
206 prem chopra 9.56 2021-09-01 09:24:00 Historia
204 radha sharma 9.2 2021-09-01 12:45:00 Química

44. Escriba una consulta SQL para encontrar la cantidad de estudiantes de cada especialidad que tienen un GPA superior a 7,5.

SELECT MAJOR, COUNT(STUDENT_ID) AS HIGH_GPA_COUNT FROM Student WHERE GPA>3.5 GRUPO POR MAYORÍA; 

Producción:

IMPORTANTE ALTO_GPA_COUNT
Biología 1
Química 1
Ciencias de la Computación 1
Inglés 1
Historia 1
Matemáticas 2
Física 1

45. Escriba una consulta SQL para encontrar los estudiantes que tienen el mismo GPA que 'Shivansh Mahajan'.

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

Producción:

IDENTIFICACIÓN DEL ESTUDIANTE NOMBRE DE PILA APELLIDO GPA FECHA DE INSCRIPCIÓN IMPORTANTE
201 Shivansh majan 4 2021-09-01 09:30:00 Ciencias de la Computación

Conclusión

En resumen, dominar las preguntas de la entrevista de consultas SQL es esencial para cualquiera que busque sobresalir en roles como analistas de datos, ingenieros de datos y analistas de negocios. Esta guía proporciona una colección completa de preguntas y respuestas de consultas SQL diseñadas para prepararlo a fondo para sus entrevistas.

Al comprender y practicar estas consultas, podrá demostrar su competencia en SQL, una habilidad fundamental que sustenta la manipulación y el análisis de datos exitosos en diversas industrias impulsadas por la tecnología.