Volver a la lista de artículos Artículos
Lectura de 8 minutos

Práctica completa de SQL para entrevistas

¡Enhorabuena! Tus conocimientos de SQL son lo suficientemente sólidos como para conseguir esa entrevista de trabajo. Ahora, si sólo supieras qué preguntas y ejercicios prácticos de SQL podría pedirte un reclutador...

Este artículo está pensado como una práctica de SQL para las entrevistas. Te ayudaré a preparar los aspectos de SQL y de las bases de datos en tu entrevista de trabajo.

En un artículo anterior, expliqué cómo puedes impulsar tu carrera aprendiendo SQL. Te abre oportunidades dentro y fuera de la informática, ya que este lenguaje de consulta se utiliza prácticamente en todas partes. Supongamos que finalmente has tomado la decisión de utilizar tus conocimientos de SQL en un nuevo trabajo. Sin embargo, antes de empezar, tienes que superar la entrevista de trabajo.

Tu entrevistador puede utilizar varios tipos de preguntas de pizarra SQL: a veces te pedirá que describas las diferencias entre dos elementos; otras veces tendrás que decirles el resultado de una consulta específica; incluso puede que tengas que escribir algún código sencillo.

Esto parece estresante, pero no te preocupes demasiado. La mejor manera de prepararse para una entrevista es practicar mucho. Te recomiendo el Ejercicio de SQL en LearnSQL.es. Contiene más de 600 ejercicios interactivos de SQL para ayudarte a repasar y practicar SQL antes de una entrevista.

En este artículo, te ayudaré a prepararte para la entrevista repasando algunas preguntas y ejercicios de SQL comunes que los reclutadores utilizan durante el proceso de la entrevista.

Preguntas básicas de pizarra SQL para entrevistas de trabajo

En primer lugar, vamos a centrarnos en el lado más teórico de SQL. Para evaluar tu comprensión aquí, es probable que el reclutador te pida que expliques verbalmente algunas preguntas más sencillas. Estas suelen ser principalmente sobre las partes elementales de SQL. Por ejemplo, es posible que te pidan que respondas a algunas de las siguientes preguntas de pizarra sobre SQL:

¿Puede responder a todas las preguntas de mi práctica de SQL para entrevistas? Incluso las preguntas básicas requieren una buena preparación y mucha práctica. Nadie es perfecto, y a veces es necesario refrescar los conocimientos. Nuestros cursos en línea pueden ayudarle a repasar cualquier habilidad semioculta.

Ejercicios prácticos de SQL para la entrevista

Las entrevistas de trabajo técnicas suelen tener una parte práctica. Aquí es donde tienes que demostrar tus conocimientos de SQL tal y como los usarías en la vida real: además de responder a las típicas preguntas de pizarra de SQL, te pedirán que escribas una sentencia SQL, que compruebes si hay errores en una consulta o que determines el resultado de una consulta determinada.

A continuación, he copiado diez ejercicios de SQL del tipo que podrías hacer en una entrevista de trabajo técnica. Están ordenados de fácil a difícil.

Ejercicio SQL 1 - Escribir una sentencia

Escriba una sentencia SQL que liste los nombres de las escuelas, los nombres de los estudiantes y sus ciudades sólo si la escuela y el estudiante están en la misma ciudad y el estudiante no es de Nueva York.

Table: school
school_id       school_name                    city  
-----------     ------------------       ----------  
1               Stanford                   Stanford    
2               University of Cali    San Francisco       
3               Harvard University         New York      
4               MIT                          Boston       
5               Yale                      New Haven        
Table: student
student_id   student_name  city           school_id
-----------  ------------  ----------   -----------
1001         Peter Brebec  New York              1
1002         John Goorgy   San Francisco         2
2003         Brad Smith    New York              3
1004         Fabian Johns  Boston                5
1005         Brad Cameron  Stanford              1
1006         Geoff Firby   Boston                5
1007         Johnny Blue   New Haven             2
1008         Johse Brook   Miami                 2

Ejercicio SQL 2 - Escriba una sentencia

Escriba una sentencia SQL que enumere los nombres de los estudiantes, los nombres de las asignaturas, los profesores de las asignaturas y la cantidad máxima de puntos para todas las asignaturas excepto Ciencias de la Computación y cualquier asignatura con una puntuación máxima entre 100 y 200.

Table: subject
subject_id  subject_name          max_score    lecturer
----------  ----------            ----------   -----------  
 11         Math                  130          Christena Solem 
 12         Computer Science      150          Jaime Pille 
 13         Biology               300          Carrol Denmark 
 14         Geography             220          Yuette Galang 
 15         Physics               110          Colton Rather 
 16         Chemistry             400          Nan Mongeau 
Table: student
student_id   student_name    city           subject_id
-----------  ------------    ----------    -----------
2001         Thurman Thorn   New York               11
2002         Sharda Clemens  San Francisco          12
2003         Buck Elkins     New York               13
2004         Fabian Johns    Boston                 15
2005         Brad Cameron    Stanford               11
2006         Sofia Roles     Boston                 16
2007         Rory Pietila    New Haven              12

Ejercicio SQL 3 - Encontrar el error

¿Qué es lo que falla en esta consulta SQL?

SELECT Id, name, YEAR(BillingDate) AS Year 
FROM Records
WHERE Year >= 2010
SELECT id, name
FROM students
WHERE grades = 
             (SELECT MAX(grades)
              FROM students
              GROUP BY subject_id;);

Ejercicio SQL 4 - Encontrar el resultado

Dadas las siguientes tablas ...

Table: worker
id    name
---   -----------      
1     Guillermo Sparks
2     Gene	Roberts
3     Ally Jones
4     Bryant Summers
5     Candice Green
Table: departments
id    name            manager_id
---   -------------    --------- 
1     Financial               3        
2     Strategy                5        
3     IT                      1        
4     Marketing            NULL     

... ¿Cuál será el resultado de la siguiente consulta?

SELECT name 
FROM worker 
WHERE id NOT IN (SELECT manager_id FROM departments)

Ejercicio SQL 5 - Escribir una Consulta

La tabla EMPLOYEE tabla tiene los siguientes atributos: NAME, DEPT_ID, y SALARY. Escribe una consulta que muestre el salario más alto de cada departamento.

Ejercicio SQL 6 - Escribir una Consulta de Fecha

Escriba una consulta SQL que muestre la fecha actual.

Ejercicio 7 - Escribir una Consulta SQL

Escriba una consulta SQL que compruebe si una fecha (1/04/12) pasada a la consulta está en un formato determinado (MM/AA/DD).

Ejercicio SQL 8 - Encontrar y Eliminar Duplicados

Escribe una consulta SQL para encontrar filas duplicadas en dos tablas (EMPLOYEE y WORKERS), y luego escriba una consulta para eliminar los duplicados.

Ejercicio 9 - Escribir una Consulta Compleja

Escriba una consulta que enumere los nombres de las asignaturas de los cursos y el número de estudiantes que los cursan sólo si el curso tiene tres o más estudiantes inscritos.

Table: subject
subject_id  subject_name       max_score        lecturer
----------  ----------         ----------       -----------  
 11         Math                    130         Christena Solem 
 12         Computer Science         50         Jaime Pille 
 13         Biology                 300         Carrol Denmark 
 14         Geography               220         Yuette Galang 
 15         Physics                 110         Colton Rather 
 16         Chemistry               400         Nan Mongeau
Table: student
student_id   student_name       city           subject_id
-----------  ------------       ----------    -----------
2001         Thurman Thorn      New York               11
2002         Sharda Clemens     San Francisco          12
2003         Buck Elkins        New York               13
2004         Fabian Johns       Boston                 15
2005         Brad Cameron       Stanford               11
2006         Sofia Roles        Boston                 16
2007         Rory Pietila       New Haven              12
2008         Cicely Weish       Tulsa                  14
2011         Richard Curtin     Boston                 11
2012         Kassy Ledger       Stanford               11
2013         Henry Ledger       Miami                  13
2014         Darius Fidzberg    San Francisco          12
2015         Darcey Fiorillo    Chicago                14

Ejercicio 10 - Escribir una Consulta Compleja

Escriba una consulta que muestre la edad media de los trabajadores de cada empresa. El resultado debe mostrar el nombre de la empresa y la edad del trabajador más joven de la empresa.

Table: company
ID     NAME
------ -------------
    1  Amazon
    2  Samsung
    3  LG
    4  Kia
    5  Lenovo
Table: workers
ID      NAME                             AGE     COMPANY_ID
------- ------------------------- ---------- -------------
    1   Derick Davison                    20            5
    2   Bari Becnel                       50            1
    3   Maddie Mueller                    33            2
    4   Eva Emrich                        23            1
    5   Katelyn Kunze                     55            3
    6   Hue Hover                         26            2
    7   Lucas Lout                        57            4
    8   Granville Grande                  30            5
    9   Robt Rude                         39            3
   10   Lisha Lewin                       25            4
   11   Aron Atlas                        52            3
   12   Chester Coddington                44            4
   13   Diedre Dominy                     31            1
   14   Evie Edgell                       35            2
   15   Judy Johanson                     36            5

Ejercicio de SQL Preguntas de la pizarra

Bien, ya hemos practicado algo de SQL para las entrevistas, pero nuestros ejercicios cubrían lo básico de SQL. ¿Pero qué pasa con un trabajo más avanzado, como desarrollador de SQL o administrador de bases de datos? Los reclutadores estarán interesados en algo más que en tus conocimientos de SQL; también necesitarán saber qué conocimientos tienes de las bases de datos en general. En ese caso, fíjate en lo bien que puedes responder verbalmente a preguntas de pizarra de SQL como éstas:

  • ¿Qué son las claves primarias y foráneas?
  • ¿Qué es la normalización? ¿Qué es la desnormalización?
  • ¿Qué es un índice? ¿Puedes explicar brevemente los diferentes tipos de índices?
  • ¿Puede explicar las relaciones de la base de datos y los tipos de relación?
  • ¿Qué es un cursor de base de datos?
  • ¿Qué es una restricción?
  • ¿Qué es una transacción de base de datos? ¿Qué es un bloqueo de base de datos?
  • ¿Cómo se utiliza la función NULLIF?
  • ¿Para qué sirve la función NVL?
  • ¿Cuál es la diferencia entre las funciones RANK() y DENSE_RANK()?
  • ¿Cuál es la diferencia entre los tipos de datos VARCHAR2 y CHAR?

De nuevo, aunque conozcas las respuestas a estas preguntas, vale la pena practicarlas. Incluso puedes practicar las respuestas en voz alta.

Como ves, las preguntas y ejercicios de pizarra SQL no son tan temibles como crees. Por supuesto, tampoco es pan comido. Hemos repasado algunos métodos comunes de evaluación de habilidades, pero mucho depende de la imaginación y la experiencia de tu entrevistador. Lo más importante es demostrar al reclutador que entiendes cómo funciona el SQL y que puedes, si lo necesitas, encontrar ayuda en Internet.

Si no tienes una entrevista en el horizonte, ahora es el momento de perfeccionar tus conocimientos de SQL. En cualquier caso, espero que este artículo te haya proporcionado una parte importante de práctica de SQL para las entrevistas y te haya ayudado a saber qué esperar y cómo prepararte para una entrevista de trabajo relacionada con SQL cuando la tengas.