Saltar al contenido principal

Las 85 mejores preguntas y respuestas de entrevistas SQL para 2025

Prepárate para una entrevista con este completo resumen de preguntas y respuestas esenciales sobre SQL para los que buscan trabajo, los directores de recursos humanos y los reclutadores.
Actualizado 16 feb 2025  · 15 min de lectura

Tanto si eres un buscador de empleo en busca de una nueva oportunidad para aplicar tus conocimientos de SQL como si eres un director de contratación que va a interrogar a un candidato para un puesto vacante en su empresa, conocer las preguntas y respuestas habituales en las entrevistas de SQL es imprescindible.

En este artículo, examinaremos 80 preguntas y respuestas SQL esenciales para principiantes y profesionales de nivel intermedio. Estas preguntas y respuestas te ayudarán a prepararte mejor para la entrevista y a saber qué esperar de tu entrevistador/entrevistado.

Para quienes busquen mejorar aún más sus conocimientos y habilidades, considera la posibilidad de explorar nuestros completos cursos de ingeniería de datos, tecnologías en la nube y AWS.

Un vistazo a las preguntas de la entrevista SQL

A lo largo de este artículo, exploraremos una serie de preguntas y respuestas de entrevistas SQL para profesionales de nivel principiante e intermedio. Si buscas una visión general, hemos recopilado algunos consejos:

Para principiantes

  1. Preguntas generales. Espera preguntas sobre tu experiencia, los sabores de SQL que conoces y tu nivel de competencia.
  2. Cuestiones técnicas. En ellos se tratarán los conceptos básicos de SQL, como qué es, sus aplicaciones, las sentencias SQL, los comandos SQL y los tipos de consultas SQL, entre otros.

Para profesionales intermedios

  1. Funciones en SQL. Debes conocer las funciones agregadas y escalares, así como las funciones incorporadas y las definidas por el usuario.
  2. Comandos avanzados. Las preguntas pueden abarcar temas como uniones, claves primarias y foráneas, índices y relaciones SQL.
  3. Diseño de la base de datos. Espera preguntas sobre normalización, desnormalización y las diferencias entre varias sentencias SQL como DELETE, TRUNCATE y DROP.
  4. Consultas avanzadas. Es posible que te pregunten por las subconsultas, tanto anidadas como correlacionadas, así como por la forma de realizar tareas específicas como encontrar el enésimo valor más alto de una columna.

Preguntas generales de la entrevista SQL para principiantes

Antes de hacerte preguntas técnicas, es posible que tu entrevistador te haga algunas preguntas generales sobre tu experiencia general con SQL. Puedes esperar las siguientes preguntas:

  • ¿Con qué sabores de SQL estás familiarizado?
  • ¿Cómo puedes estimar tu nivel de competencia en SQL?
  • ¿Desde cuándo trabajas en SQL?

Aunque esta información puede mencionarse en tu currículum, prepárate para hablar de ella. Naturalmente, no hay respuestas "correctas" a estas preguntas, y no es necesario inventarse cosas al responderlas.

No te preocupes si tu experiencia en SQL es limitada: esto es algo que tu entrevistador, muy probablemente, ya sabe por tu currículum. Como de todas formas están interesados en hablar contigo, tu perfil se consideró adecuado para su empresa.

Además, no pasa nada si sólo has trabajado con un sabor de SQL. Recuerda que todos los dialectos SQL son bastante similares. Por tanto, estar familiarizado con una sola de ellas es una base sólida para que aprendas cualquier otra.

Preguntas técnicas de la entrevista SQL para principiantes 

Ahora, pasemos a las preguntas técnicas de la entrevista SQL y algunas posibles respuestas a las mismas.

Al responder a preguntas técnicas, la mejor estrategia es dar respuestas lo más precisas posible. Puede parecer un intento de desviarse del tema principal. Además, puede provocar preguntas adicionales sobre las que puedes sentirte menos seguro.

1. ¿Qué es SQL?

Son las siglas de Structured Query Language (Lenguaje de Consulta Estructurado ), y es un lenguaje de programación utilizado para interactuar con sistemas de gestión de bases de datos relacionales (RDBMS). Esto incluye obtener, actualizar, insertar y eliminar datos de las tablas.

2. ¿Qué son los dialectos SQL? Pon algunos ejemplos.

Las distintas versiones de SQL, tanto gratuitas como de pago, también se denominan dialectos de SQL. Todos los sabores de SQL tienen una sintaxis muy similar y sólo varían insignificantemente en funcionalidad adicional. Algunos ejemplos son Microsoft SQL Server, PostgreSQL, MySQL, SQLite, T-SQL, Oracle y MongoDB.

3. ¿Cuáles son las principales aplicaciones de SQL?

Utilizando SQL, podemos

  • crear, eliminar y actualizar tablas en una base de datos
  • acceder, manipular y modificar los datos de una tabla
  • recuperar y resumir la información necesaria de una tabla o varias tablas
  • añadir o eliminar determinadas filas o columnas de una tabla

En definitiva, SQL permite consultar una base de datos de múltiples formas. Además, SQL se integra fácilmente con otros lenguajes de programación, como Python o R, por lo que podemos utilizar su potencia combinada.

4. ¿Qué es una sentencia SQL? Pon algunos ejemplos.

También conocido como comando SQL. Es una cadena de caracteres interpretada por el motor SQL como una orden legal y ejecutada en consecuencia. Algunos ejemplos de sentencias SQL son SELECT,CREATE,DELETE,DROP,REVOKE, etc.

5. ¿Qué tipos de comandos SQL (o subconjuntos de SQL) conoces?

  • Lenguaje de Definición de Datos (DDL) - para definir y modificar la estructura de una base de datos.
  • Lenguaje de Manipulación de Datos (LMD) - para acceder a los datos de una base de datos, manipularlos y modificarlos.
  • Lenguaje de Control de Datos (DCL) - para controlar el acceso de los usuarios a los datos de la base de datos y conceder o revocar privilegios a un usuario concreto o a un grupo de usuarios.
  • Lenguaje de Control de Transacciones (TCL) - para controlar las transacciones en una base de datos.
  • Lenguaje de Consulta de Datos (DQL) - para realizar consultas sobre los datos de una base de datos y recuperar de ella la información necesaria.

6. Pon algunos ejemplos de comandos SQL comunes de cada tipo.

  • DDL: CREATE, ALTER TABLE, DROP, TRUNCATEy ADD COLUMN
  • LMD: UPDATE, DELETEy INSERT
  • DCL GRANT y REVOKE
  • TCL: COMMIT, SET TRANSACTION, ROLLBACKy SAVEPOINT
  • DQL:SELECT

7. ¿Qué es una base de datos?

Un espacio de almacenamiento estructurado en el que los datos se guardan en muchas tablas y se organizan de modo que la información necesaria pueda obtenerse, manipularse y resumirse fácilmente.

8. ¿Qué es un SGBD y qué tipos de SGBD conoces?

Son las siglas de Sistema de Gestión de Bases de Datos, un paquete de software utilizado para realizar diversas operaciones con los datos almacenados en una base de datos, como acceder a ellos, actualizarlos, manipularlos, insertarlos y eliminarlos. Existen varios tipos de SGBD, como los relacionales, jerárquicos, de red, de grafos u orientados a objetos. Estos tipos se basan en la forma en que se organizan, estructuran y almacenan los datos en el sistema.

9. ¿Qué es un RDBMS? Pon algunos ejemplos de RDBMS.

Son las siglas de Sistema de Gestión de Bases de Datos Relacionales. Es el tipo de SGBD más utilizado para trabajar con datos almacenados en múltiples tablas relacionadas entre sí mediante claves compartidas. El lenguaje de programación SQL está diseñado para interactuar con RDBMS. Algunos ejemplos de RDBMS son MySQL, PostgreSQL, Oracle, MariaDB, etc.

10. ¿Qué son las tablas y los campos en SQL?

Una tabla es un conjunto organizado de datos relacionados, almacenados en forma tabular, es decir, en filas y columnas. Un campo es otro término para una columna de una tabla.

11. ¿Qué es una consulta SQL y qué tipos de consultas conoces?

Una consulta es un fragmento de código escrito en SQL para acceder a los datos de una base de datos o modificarlos.

Hay dos tipos de consultas SQL: consultasselectas y consultasde acción. Los primeros se utilizan para recuperar los datos necesarios (esto también incluye limitar, agrupar, ordenar los datos, extraer los datos de varias tablas, etc.), mientras que los segundos se utilizan para crear, añadir, eliminar, actualizar, renombrar los datos, etc.

12. ¿Qué es una subconsulta?

También se llama consulta interna, consulta colocada dentro de otra consulta o consulta externa. Una subconsulta puede aparecer en cláusulas como SELECT,FROM,WHERE,UPDATE, etc. También es posible tener una subconsulta dentro de otra subconsulta. La subconsulta más interna se ejecuta primero, y su resultado se pasa a la consulta (o subconsulta) contenedora.

13. ¿Qué tipos de subconsultas SQL conoces?

  • Una sola fila - devuelve como máximo una fila.
  • Varias filas - devuelve al menos dos filas.
  • Multicolumna - devuelve al menos dos columnas.
  • Correlacionada - una subconsulta relacionada con la información de la consulta externa.
  • Anidada - una subconsulta dentro de otra subconsulta.

14. ¿Qué es una restricción y por qué utilizar restricciones?

Conjunto de condiciones que definen el tipo de datos que pueden introducirse en cada columna de una tabla. Las restricciones garantizan la integridad de los datos de una tabla y bloquean acciones no deseadas.

15. ¿Qué restricciones SQL conoces?

  • DEFAULT - proporciona un valor por defecto para una columna.
  • UNIQUE - sólo permite valores únicos.
  • NOT NULL - sólo permite valores no nulos.
  • PRIMARY KEY - sólo permite valores únicos y estrictamente no nulos (NOT NULL y UNIQUE).
  • FOREIGN KEY - proporciona claves compartidas entre dos o más tablas.

16. ¿Qué es una unión?

Cláusula utilizada para combinar y recuperar registros de dos o más tablas. Las tablas SQL se pueden unir basándose en la relación entre las columnas de esas tablas. Echa un vistazo a Uniones SQLpara más contexto, además de nuestra guía dedicada a las preguntas de la entrevista sobre uniones SQL.

17. ¿Qué tipos de uniones conoces?

  • (INNER) JOIN - devuelve sólo los registros que cumplen una condición de unión definida en ambas tablas (o en todas). Es una unión SQL por defecto.
  • LEFT (OUTER) JOIN - devuelve todos los registros de la tabla izquierda y aquellos registros de la tabla derecha que cumplan una condición de unión definida.
  • RIGHT (OUTER) JOIN - devuelve todos los registros de la tabla derecha y aquellos registros de la tabla izquierda que cumplan una condición de unión definida.
  • FULL (OUTER) JOIN - devuelve todos los registros de ambas tablas (o de todas). Puede considerarse como una combinación de uniones izquierda y derecha.

18. ¿Qué es una clave primaria?

Una columna (o varias columnas) de una tabla a la que se impuso la restricciónPRIMARY KEY para garantizar valores únicos y no nulos en esa columna. En otras palabras, una clave primaria es una combinación de las restricciones NOT NULL y UNIQUE. La clave primaria identifica unívocamente cada registro de la tabla. Cada tabla debe contener una clave primaria y no puede contener más de una clave primaria.

19. ¿Qué es una clave única?

Una columna (o varias columnas) de una tabla a la que se impuso la UNIQUE restricción se impuso para garantizar valores únicos en esa columna, incluido un posible NULL valor (el único).

20. ¿Qué es una clave externa?

Una columna (o varias columnas) de una tabla a la que se impuso la restricciónFOREIGN KEY para vincular esta columna a la clave primaria de otra tabla (o varias tablas). La finalidad de las claves externas es mantener conectadas varias tablas de una base de datos.

21. ¿Qué es un índice?

Estructura de datos especial relacionada con una tabla de base de datos y utilizada para almacenar sus partes importantes y permitir una búsqueda y recuperación de datos más rápida. Los índices son especialmente eficaces para las grandes bases de datos, donde mejoran significativamente el rendimiento de las consultas.

22. ¿Qué tipos de índices conoces?

  • Índice único - no permite duplicados en una columna de la tabla y, por tanto, ayuda a mantener la integridad de los datos.
  • Índice agrupado - define el orden físico de los registros de una tabla de base de datos y realiza la búsqueda de datos basándose en los valores clave. Una tabla sólo puede tener un índice agrupado.
  • Índice no agrupado: mantiene el orden de los registros de la tabla que no coincide con el orden físico de los datos reales en el disco. Significa que los datos se almacenan en un lugar y un índice no agrupado, en otro. Una tabla puede tener varios índices no agrupados.

23. ¿Qué es un esquema?

Conjunto de elementos estructurales de una base de datos, como tablas, procedimientos almacenados, índices, funciones y disparadores. Muestra la arquitectura general de la base de datos, especifica las relaciones entre los distintos objetos de una base de datos y define distintos permisos de acceso para ellos. Lee nuestra guía de esquemas de bases de datos para conocerlos mejor.

24. ¿Qué es un comentario SQL?

Una aclaración legible por humanos de lo que hace un determinado fragmento de código. Los comentarios del código SQL pueden ser de una sola línea (precedidos de un guión doble -- ) o abarcar varias líneas (como en: /*comment_text*/). Cuando el motor SQL se ejecuta, ignora los comentarios del código. La finalidad de añadir comentarios al código SQL es hacer que el código sea más completo para las personas que lo lean en el futuro.

25. ¿Qué es un operador SQL?

Un carácter reservado, una combinación de caracteres o una palabra clave utilizada en las consultas SQL para realizar una operación concreta. Los operadores SQL se suelen utilizar con la cláusula WHERE para establecer una condición (o condiciones) para filtrar los datos.

26. ¿Qué tipos de operadores SQL conoces?

  • Aritmética (+, -, *, /etc.)
  • Comparación (>, <, =, >=etc.)
  • Compuesto (+=, -=, *=, /=etc.)
  • Lógica (AND, OR, NOT, BETWEENetc.)
  • Cadena (%, _, +, ^etc.)
  • Configura (UNION, UNION ALL, INTERSECTy MINUS (o EXCEPT))

27. ¿Qué es un alias?

Nombre temporal que se da a una tabla (o a una columna de una tabla) al ejecutar una determinada consulta SQL. Los alias se utilizan para mejorar la legibilidad del código y hacerlo más compacto. Un alias se introduce con la palabra clave AS:

SELECT col_1 AS column
FROM table_name;

28. ¿Qué es una cláusula?

Condición impuesta a una consulta SQL para filtrar los datos y obtener el resultado deseado. Algunos ejemplos son WHERE,LIMIT,HAVING,LIKE,AND,OR,ORDER BY, etc.

29. ¿Cuáles son algunas afirmaciones comunes utilizadas con la SELECT ¿cuestionar?

Los más comunes son FROM, GROUP BY, JOIN, WHERE, ORDER BY, LIMITy HAVING.

30. ¿Cómo crear una tabla?

Utiliza la declaraciónCREATE TABLE. Por ejemplo, para crear una tabla con tres columnas de tipos de datos predefinidos, aplicamos la siguiente sintaxis:

CREATE TABLE table_name (col_1 datatype,
                         col_2 datatype,
                         col_3 datatype);

31. ¿Cómo actualizar una tabla?

Utilizando la sentenciaUPDATE. La sintaxis es:

UPDATE table_name
SET col_1 = value_1, column_2 = value_2
WHERE condition;

32. ¿Cómo eliminar una tabla de una base de datos?

Utiliza la declaraciónDROP TABLE. La sintaxis es: DROP TABLE table_name;.

33. ¿Cómo obtener el recuento de registros de una tabla?

Utilizando la función COUNT() con el asterisco como argumento: SELECT COUNT(*) FROM table_name;.

34. ¿Cómo ordenar los registros de una tabla?

Utilizando la ORDER BY declaración:

SELECT * FROM table_name
ORDER BY col_1;

Podemos especificar que necesitamos un orden descendente utilizando la palabra claveDESC; de lo contrario, el orden será ascendente por defecto. Además, podemos ordenar por más de una columna y especificar para cada una, orden ascendente o descendente por separado. Por ejemplo:

SELECT * FROM table_name
ORDER BY col_1 DESC, col_3, col_6 DESC;

35. ¿Cómo seleccionar todas las columnas de una tabla?

Utilizando el asterisco * con la declaraciónSELECT. La sintaxis es: SELECT * FROM table_name;.

36. ¿Cómo seleccionar registros comunes de dos tablas?

Using the INTERSECT statement:
SELECT * FROM table_1
INTERSECT
SELECT * FROM table_1;

37. ¿Qué es la DISTINCT declaración y cómo la utilizas?

Esta sentencia se utiliza con la sentenciaSELECT para filtrar duplicados y devolver sólo valores únicos de una columna de una tabla. La sintaxis es:

SELECT DISTINCT col_1
FROM table_name;

38. ¿Qué son las entidades? Pon algunos ejemplos.

Una entidad es un objeto, criatura, lugar o fenómeno del mundo real cuyos datos pueden recopilarse y almacenarse en una tabla de la base de datos. Cada entidad corresponde a una fila de una tabla, mientras que las columnas de la tabla describen sus propiedades. Algunos ejemplos de entidades son las transacciones bancarias, los alumnos de una escuela, los coches vendidos, etc.

39. ¿Qué son las relaciones? Pon algunos ejemplos.

Las relaciones son las conexiones y correlaciones entre entidades, lo que significa básicamente cómo se relacionan entre sí dos o más tablas de una base de datos. Por ejemplo, podemos encontrar un ID del mismo cliente en una tabla de datos de ventas y en una tabla de clientes.

40. ¿Qué es una NULL ¿valor? ¿En qué se diferencia del cero o de un espacio en blanco?

Un valorNULL indica la ausencia de datos para una determinada celda de una tabla. En cambio, cero es un valor numérico válido, y una cadena vacía es una cadena legal de longitud cero.

41. ¿Cuál es la diferencia entre SQL y NoSQL?

Las bases de datos SQL son relacionales, estructuradas y utilizan tablas con esquemas predefinidos, mientras que las bases de datos NoSQL son no relacionales, sin esquemas y diseñadas para manejar datos no estructurados o semiestructurados.

42. ¿Cuáles son algunos de los retos habituales cuando se trabaja con bases de datos SQL?

Los retos incluyen el ajuste del rendimiento para grandes conjuntos de datos, la gestión de estrategias de indexación, la garantía de la integridad de los datos con restricciones, la gestión de transacciones concurrentes y la optimización de la ejecución de consultas.

Preguntas intermedias de la entrevista SQL

En esta sección, echamos un vistazo a las preguntas y respuestas SQL intermedias más populares para que sepas qué esperar de tu entrevistador.

43. ¿Qué es una función en SQL y por qué utilizar funciones?

Objeto de base de datos que representa un conjunto de sentencias SQL utilizadas frecuentemente para una determinada tarea. Una función toma unos parámetros de entrada, realiza cálculos u otras manipulaciones con ellos y devuelve el resultado. Las funciones ayudan a mejorar la legibilidad del código y evitan la repetición de los mismos fragmentos de código.

44. ¿Qué tipos de funciones SQL conoces?

  • Funciones agregadas - trabajan sobre varios registros, normalmente agrupados, de las columnas proporcionadas de una tabla, y devuelven un único valor (normalmente por grupo).
  • Las funciones escalares - trabajan sobre cada valor individual y devuelven un único valor.

Por otra parte, las funciones SQL pueden ser incorporadas (definidas por el sistema) o definidas por el usuario (creadas por el usuario para sus necesidades específicas).

45. ¿Qué funciones agregadas conoces?

  • AVG() - devuelve el valor medio
  • SUM() - devuelve la suma de los valores
  • MIN() - devuelve el valor mínimo
  • MAX() - devuelve el valor máximo
  • COUNT() - devuelve el número de filas, incluidas las que tienen valores nulos
  • FIRST() - devuelve el primer valor de una columna
  • LAST()- devuelve el último valor de una columna

46. ¿Qué funciones escalares conoces?

  • LEN() (en otras variantes de SQL - LENGTH()) - devuelve la longitud de una cadena, incluidos los espacios en blanco
  • UCASE() (en otros sabores de SQL - UPPER()) - devuelve una cadena convertida a mayúsculas
  • LCASE() (en otros sabores de SQL - LOWER()) - devuelve una cadena convertida a minúsculas
  • INITCAP() - devuelve una cadena convertida a mayúsculas y minúsculas (es decir, cada palabra de la cadena empieza por una mayúscula)
  • MID() (en otras variantes de SQL - SUBSTR()) - extrae una subcadena de una cadena
  • ROUND() - devuelve el valor numérico redondeado a un número especificado de decimales
  • NOW() - devuelve la fecha y hora actuales

47. ¿Qué son las funciones de manipulación de casos? Pon algunos ejemplos.

Las funciones de manipulación de mayúsculas y minúsculas representan un subconjunto de las funciones de caracteres, y se utilizan para cambiar las mayúsculas y minúsculas de los datos de texto. Con estas funciones, podemos convertir los datos en mayúsculas, minúsculas o títulos.

  • UCASE() (en otros sabores de SQL - UPPER()) - devuelve una cadena convertida a mayúsculas
  • LCASE() (en otros sabores de SQL - LOWER()) - devuelve una cadena convertida a minúsculas
  • INITCAP() - devuelve una cadena convertida a mayúsculas y minúsculas (es decir, cada palabra de la cadena empieza por una mayúscula)

48. ¿Qué son las funciones de manipulación de caracteres? Pon algunos ejemplos.

Las funciones de manipulación de caracteres representan un subconjunto de las funciones de caracteres, y se utilizan para modificar los datos de texto.

  • CONCAT() - une dos o más valores de cadena añadiendo la segunda cadena al final de la primera
  • SUBSTR() - devuelve una parte de una cadena que satisface los puntos inicial y final proporcionados
  • LENGTH() (en otras variantes de SQL - LEN()) - devuelve la longitud de una cadena, incluidos los espacios en blanco
  • REPLACE() - sustituye todas las apariciones de una subcadena definida en una cadena proporcionada por otra subcadena
  • INSTR() - devuelve la posición numérica de una subcadena definida en una cadena proporcionada
  • LPAD() y RPAD() - devuelve el relleno del carácter lado izquierdo/lado derecho para el valor justificado a la derecha/justificado a la izquierda
  • TRIM() - elimina todos los caracteres definidos, así como los espacios en blanco, de los extremos izquierdo, derecho o ambos de una cadena proporcionada

49. ¿Cuál es la diferencia entre variables locales y globales?

Sólo se puede acceder a las variables locales dentro de la función en la que se declararon. En cambio, las variables globales, al declararse fuera de cualquier función, se almacenan en estructuras de memoria fijas y pueden utilizarse en todo el programa.

50. ¿Cuál es la ordenación de datos por defecto con el ORDER BY y ¿cómo cambiarla?

Por defecto, el orden es ascendente. Para cambiarla a descendente, tenemos que añadir la palabra clave DESC como se indica a continuación:

SELECT * FROM table_name
ORDER BY col_1 DESC;

51. ¿Qué operadores de conjuntos conoces?

  • UNION - devuelve los registros obtenidos por al menos una de las dos consultas (excluyendo los duplicados)
  • UNION ALL - devuelve los registros obtenidos por al menos una de las dos consultas (incluidos los duplicados)
  • INTERSECT - devuelve los registros obtenidos por ambas consultas
  • EXCEPT (llamada MINUS en MySQL y Oracle) - devuelve sólo los registros obtenidos por la primera consulta, pero no la segunda

52. ¿Qué operador se utiliza en la consulta para la concordancia de patrones?

El operador LIKE en combinación con los comodines% y _. El comodín % representa cualquier número de caracteres, incluido el cero, mientras que _ - estrictamente un carácter.

53. ¿Cuál es la diferencia entre una clave primaria y una clave única?

Aunque ambos tipos de claves garantizan valores únicos en una columna de una tabla, la primera identifica unívocamente cada registro de la tabla, y la segunda evita los duplicados en esa columna.

54. ¿Qué es una clave primaria compuesta?

La clave primaria de una tabla, basada en varias columnas.

55. ¿Cuál es el orden de aparición de las sentencias comunes en la consulta SELECT?

SELECTFROMJOINONWHEREGROUP BYHAVINGORDER BYLIMIT

56. ¿En qué orden ejecuta el intérprete las sentencias comunes de la consulta SELECT?

FROMJOINONWHEREGROUP BYHAVINGSELECTORDER BYLIMIT

57. ¿Qué es una vista y por qué utilizarla?

Una tabla virtual que contiene un subconjunto de datos recuperados de una o varias tablas de la base de datos (u otras vistas). Las vistas ocupan muy poco espacio, simplifican las consultas complejas, limitan el acceso a los datos por motivos de seguridad, permiten la independencia de los datos y resumen los datos de varias tablas.

58. ¿Podemos crear una vista basada en otra vista?

Sí. Esto también se conoce como vistas anidadas. Sin embargo, debemos evitar anidar múltiples vistas, ya que el código se vuelve difícil de leer y depurar.

59. ¿Podemos seguir utilizando una vista si se elimina la tabla original?

No. Las vistas basadas en esa tabla dejarán de ser válidas tras eliminar la tabla base. Si de todos modos intentamos utilizar esa vista, recibiremos un mensaje de error.

60. ¿Qué tipos de relaciones SQL conoces?

  • Uno a uno - cada registro de una tabla corresponde a un único registro de otra tabla
  • De uno a muchos - cada registro de una tabla corresponde a varios registros de otra tabla
  • Muchos a muchos - cada registro de ambas tablas corresponde a varios registros de otra tabla

61. ¿Cuáles son los valores posibles de un campo de datos BOOLEAN?

En algunos sabores de SQL, como PostgreSQL, el tipo de dato BOOLEAN existe explícitamente y toma los valores TRUE,FALSE, o NULL. En otras versiones, como Microsoft SQL Server, el tipo de datos BIT se utiliza para almacenar valores booleanos como enteros 1 (verdadero) o 0 (falso).

62. ¿Qué es la normalización en SQL y por qué utilizarla?

La normalización es un proceso de diseño de bases de datos que incluye la organización y reestructuración de los datos de forma que se reduzca su redundancia, dependencia, duplicación e incoherencia. Esto conduce a una mayor integridad de los datos, más tablas dentro de la base de datos, un acceso a los datos y un control de la seguridad más eficaces, y una mayor flexibilidad en las consultas.

63. ¿Qué es la desnormalización en SQL y por qué utilizarla?

La desnormalización es el proceso opuesto a la normalización: introduce redundancia de datos y combina datos de varias tablas. La desnormalización optimiza el rendimiento de la infraestructura de la base de datos en situaciones en las que las operaciones de lectura son más importantes que las de escritura, ya que ayuda a evitar uniones complejas y reduce el tiempo de ejecución de las consultas.

67. ¿Qué diferencia hay entre renombrar una columna y darle un alias?

Renombrar una columna significa cambiar permanentemente su nombre real en la tabla original. Dar un alias a una columna significa darle un nombre temporal mientras se ejecuta una consulta SQL, con el fin de hacer el código más legible y compacto.

68. ¿Cuál es la diferencia entre subconsultas anidadas y correlacionadas?

Una subconsulta correlacionada es una consulta interna anidada en una consulta mayor (externa) que hace referencia a los valores de la consulta externa para su ejecución, lo que significa que una subconsulta correlacionada depende de su consulta externa. En cambio, una subconsulta no correlacionada no depende de los datos de la consulta externa y puede ejecutarse independientemente de ella.

69. ¿Cuál es la diferencia entre índices agrupados y no agrupados?

Mientras que un índice agrupado define el orden físico de los registros de una tabla y realiza la búsqueda de datos basándose en los valores clave, un índice no agrupado mantiene el orden de los registros que no coinciden con el orden físico de los datos reales en el disco. Una tabla puede tener sólo un índice agrupado pero muchos no agrupados.

70. ¿Qué es la CASE() ¿función?

La forma de implementar el si-entonces-si en SQL. Esta función comprueba secuencialmente las condiciones proporcionadas en las cláusulas WHEN y devuelve el valor de la cláusulaTHEN correspondiente cuando se cumple la primera condición. Si no se cumple ninguna de las condiciones, la función devuelve el valor de la cláusula ELSE en caso de que se proporcione, de lo contrario, devuelve NULL. La sintaxis es:

CASE
    WHEN condition_1 THEN value_1
    WHEN condition_2 THEN value_2
    WHEN condition_3 THEN value_3
    ...
    ELSE value
END;

71. ¿Cuál es la diferencia entre DELETE y TRUNCATE declaraciones?

DELETE es un comando DML (Lenguaje de Manipulación de Datos) reversible que se utiliza para eliminar una o varias filas de una tabla en función de las condiciones especificadas en la cláusulaWHERE. En cambio, TRUNCATE es un comando DDL (Lenguaje de Definición de Datos) irreversible que se utiliza para eliminar todas las filas de una tabla. DELETE funciona más lentamente que TRUNCATE. Además, no podemos utilizar la sentencia TRUNCATE para una tabla que contenga una clave ajena.

72. ¿Cuál es la diferencia entre DROP y TRUNCATE declaraciones?

DROP borra completamente una tabla de la base de datos, incluyendo la estructura de la tabla y todas las restricciones asociadas, las relaciones con otras tablas y los privilegios de acceso. TRUNCATE borra todas las filas de una tabla sin afectar a la estructura de la tabla ni a las restricciones. DROP funciona más lentamente que TRUNCATE. Ambos son comandos DDL (Lenguaje de Definición de Datos) irreversibles.

73. ¿Cuál es la diferencia entre HAVING y WHERE declaraciones?

El primero trabaja sobre datos agregados después de agruparlos, mientras que el segundo comprueba cada fila individualmente. Si ambas declaraciones están presentes en una consulta, aparecen en el siguiente orden: WHERE -GROUP BY - HAVING. El motor SQL las interpreta también en el mismo orden.

74. ¿Cómo se añade un registro a una tabla?

Utilizando la declaración INSERT INTO en combinación con VALUES. La sintaxis es:

INSERT INTO table_name
VALUES (value_1, value_2, ...);

75. ¿Cómo eliminar un registro de una tabla?

Utiliza la declaraciónDELETE. La sintaxis es:

DELETE FROM table_name
WHERE condition;

De este modo, también podemos eliminar varios registros si cumplen la condición establecida.

76. ¿Cómo añadir una columna a una tabla?

Utilizando la declaración ALTER TABLE en combinación con ADD. La sintaxis es:

ALTER TABLE table_name
ADD column_name datatype;

77. ¿Cómo renombrar una columna de una tabla?

Utilizar la declaración ALTER TABLE en combinación con RENAME COLUMN ... TO ... La sintaxis es

ALTER TABLE table_name
RENAME COLUMN old_column_name TO new_column_name;

78. ¿Cómo eliminar una columna de una tabla?

Utilizando la declaración ALTER TABLE en combinación con DROP COLUMN. La sintaxis es:

ALTER TABLE table_name
DROP COLUMN column_name;

79. ¿Cómo seleccionar todos los registros pares o todos los registros impares de una tabla?

Comprobando el resto de la división por 2. En algunas versiones de SQL (por ejemplo, PostgreSQL y My SQL), utilizamos la función MOD, en las demás (Microsoft SQL Server y SQLite) - el operador módulo (%). Para seleccionar todos los registros pares utilizando MOD:

SELECT * FROM table_name
WHERE MOD(ID_column, 2) = 0;

Para seleccionar todos los registros pares utilizando %:

SELECT * FROM table_name 
WHERE ID_column % 2 = 0;

Para seleccionar todos los registros impares, la sintaxis es idéntica en ambos casos, sólo que utilizaríamos el operador de desigualdad <> en lugar de =.

80. ¿Cómo evitar registros duplicados al hacer una consulta?

Utilizar la declaración DISTINCT en combinación con SELECT o creando una clave única para esa tabla.

81. ¿Cómo insertar muchas filas en una tabla?

Utilizando la declaración INSERT INTO en combinación con VALUES. La sintaxis es:

INSERT INTO table_name
VALUES (value_1, value_2, ...),
      (value_3, value_4, ...),
      (value_5, value_6, ...),
      ...;

82. ¿Cómo encontrar el enésimo valor más alto de una columna de una tabla?

Utilizando la cláusulaOFFSET. Por ejemplo, para encontrar el 6º valor más alto de una columna, utilizaríamos la siguiente sintaxis:

SELECT * FROM table_name
ORDER BY column_name DESC
LIMIT 1
OFFSET 5;

83. ¿Cómo encontrar los valores de una columna de texto de una tabla que empiezan por una letra determinada?

Utilizando el operador LIKE en combinación con los comodines% y _. Por ejemplo, necesitamos encontrar todos los apellidos de una tabla que empiecen por "A". La pregunta es:

SELECT * FROM table_name
WHERE surname LIKE 'A_';

Aquí suponemos que un apellido debe contener al menos dos letras. Sin esta suposición (es decir, que un apellido puede ser sólo A), la consulta es la siguiente:

SELECT * FROM table_name
WHERE surname LIKE 'A%';

84. ¿Cómo encontrar el último id de una tabla?

Utilizando la funciónMAX(). De lo contrario, en muchas versiones de SQL, podemos utilizar la siguiente sintaxis:

SELECT id
FROM table_name
ORDER BY id DESC
LIMIT 1;

o en Microsoft SQL Server:

SELECT TOP 1 id
FROM table_name
ORDER BY id DESC

85. ¿Cómo seleccionar filas aleatorias de una tabla?

Utilizando la función RAND() en combinación con ORDER BY y LIMIT. En algunas versiones de SQL, como PostgreSQL, se llama RANDOM(). Por ejemplo, el código siguiente devolverá cinco filas aleatorias de una tabla de MySQL:

SELECT * FROM table_name
ORDER BY RAND()
LIMIT 5;

Mejora la capacitación de tu equipo con SQL

Aunque la preparación de las entrevistas SQL es crucial para los solicitantes de empleo y los responsables de contratación, es igualmente importante que las empresas inviertan en formación continua en SQL para sus equipos. Ser capaz de trabajar con datos es más importante que nunca, así que asegurarte de que tus empleados tienen sólidos conocimientos de SQL puede cambiar las reglas del juego para el éxito de tu empresa.

Si eres jefe de equipo o propietario de una empresa y quieres asegurarte de que todo tu equipo domina SQL, DataCamp para empresas ofrece programas de formación a medida que pueden ayudar a tus empleados a dominar las habilidades SQL, desde los conceptos básicos hasta los más avanzados. Podemos proporcionar:

  • Vías de aprendizaje específicas: Personalizable según el nivel actual de conocimientos de tu equipo y las necesidades de la empresa.
  • Práctica práctica: Escenarios y ejercicios del mundo real que refuerzan el aprendizaje y mejoran la retención.
  • Seguimiento del progreso: Herramientas para supervisar y evaluar el progreso de tu equipo, garantizando que alcanzan sus objetivos de aprendizaje.

Invertir en el perfeccionamiento de SQL a través de plataformas como DataCamp no sólo mejora las capacidades de tu equipo, sino que también proporciona a tu empresa una ventaja estratégica, permitiéndote seguir siendo competitivo y obtener resultados. Habla con un miembro de nuestro equipo y solicita una demostración hoy mismo

Conclusión

En resumen, hemos discutido las 85 preguntas esenciales de la entrevista SQL para principiantes e intermedios y las respuestas correctas a las mismas. Esperemos que esta información te ayude a prepararte para la entrevista y a sentirte más seguro, tanto si estás buscando trabajo en SQL como si estás contratando candidatos para un puesto intermedio de SQL.

Si crees que necesitas más formación para prepararte mejor para una entrevista, considera los siguientes cursos y tracks de SQL de DataCamp:

Aumenta la competencia SQL de tu equipo

Forma a tu equipo en SQL con DataCamp para empresas. Formación completa, proyectos prácticos y métricas de rendimiento detalladas para tu organización.

Solicita una demostración hoy mismo
business-homepage-hero.png

Preguntas frecuentes

¿Cómo puedo empezar a aprender SQL?

Para empezar a aprender SQL, comienza por los conceptos básicos de las bases de datos y los sistemas de gestión de bases de datos relacionales. DataCamp tiene muchos recursos para ayudarte a empezar, como el curso de Introducción a SQL, el itinerario profesional de Analista de Datos en SQL y la hoja de trucos de SQL. También puedes visitar la página de cursos de SQL para consultar todos los recursos.

¿Dónde puedo encontrar problemas SQL del mundo real para practicar?

En la plataforma DataCamp hay muchos proyectos SQL para perfeccionar tus habilidades, aptos para todos los niveles.

¿Cuáles son algunas preguntas habituales en las entrevistas SQL para principiantes?

A menudo se pide a los principiantes que expliquen conceptos básicos de SQL, como la diferencia entre las sentencias SELECT y INSERT, la finalidad de las claves en una base de datos (claves primarias y claves foráneas), y consultas sencillas para obtener datos de una única tabla utilizando condiciones ( cláusulaWHERE ).

¿Cuáles son algunas preguntas habituales en las entrevistas SQL para profesionales intermedios?

Los profesionales intermedios podrían enfrentarse a preguntas sobre conceptos SQL más complejos, como uniones (INNER, LEFT, RIGHT, FULL), subconsultas, agregaciones y agrupación de datos (GROUP BY), y el uso de operaciones de conjunto como UNION, INTERSECT y EXCEPT. También se les puede pedir que resuelvan problemas que impliquen optimizar las consultas para mejorar el rendimiento.

¿Cómo debo prepararme para una entrevista SQL?

La preparación para una entrevista SQL debe incluir

  • Repasar los conceptos básicos y avanzados de SQL.
  • Practicar la redacción de consultas para resolver problemas comunes.
  • Comprender el diseño y la normalización de las bases de datos.
  • Familiarizarte con el dialecto SQL específico que utiliza el empleador (por ejemplo, PostgreSQL, MySQL, SQL Server).
  • Resolver ejemplos de preguntas y problemas de entrevistas disponibles en Internet.

¿Qué debo esperar en una entrevista técnica de SQL y cómo puedo demostrar mejor mis habilidades?

En una entrevista técnica de SQL, puedes esperar preguntas que pongan a prueba tus conocimientos de sintaxis SQL, diseño de bases de datos, optimización de consultas y capacidad para resolver problemas utilizando SQL. Para demostrar tus habilidades:

  • Practica explicando tu proceso de pensamiento mientras resuelves problemas de SQL.
  • Prepárate para escribir consultas SQL sin errores en una pizarra o en un entorno de codificación en línea.
  • Demuestra tu comprensión de conceptos complejos como uniones, subconsultas y transacciones mediante ejemplos.
  • Comenta cualquier experiencia real que tengas trabajando con bases de datos, destacando los retos que hayas superado o las optimizaciones que hayas aplicado.

¿Qué importancia tiene aprender dialectos específicos de SQL y en cuáles debo centrarme?

Aunque la sintaxis básica de SQL es consistente en los distintos RDBMS, cada sistema (como MySQL, PostgreSQL, SQL Server, Oracle) tiene su propio dialecto con características y funciones únicas. Aprender un dialecto SQL específico es importante si te diriges a funciones que utilizan un RDBMS concreto. Céntrate en el dialecto más relevante para tus objetivos profesionales o el más utilizado en tu sector. Sin embargo, tener una base sólida en SQL estándar facilita la adaptación a diferentes dialectos según sea necesario.

¿DataCamp tiene recursos adicionales GRATUITOS para preparar las entrevistas SQL?

Sí. Si actualmente eres profesor o estudiante universitario, puedes utilizar las Aulas DataCamp para conseguir GRATIS todo nuestro catálogo premium. Esto incluye nuestros cursos y certificaciones SQL.

También puedes echar un vistazo a nuestra hoja de trucos gratuita sobre Conceptos Básicos de SQL.


Elena Kosourova's photo
Author
Elena Kosourova
LinkedIn

Científico de Datos Certificado por IBM (2020), anteriormente Geólogo Petrolero/Geomodelador de yacimientos de petróleo y gas en todo el mundo con más de 12 años de experiencia laboral internacional. Dominio de Python, R y SQL. Áreas de especialización: limpieza de datos, manipulación de datos, visualización de datos, análisis de datos, modelado de datos, estadística, narración de historias, aprendizaje automático. Amplia experiencia en la gestión de comunidades de ciencia de datos y en la redacción/revisión de artículos y tutoriales sobre ciencia de datos y temas profesionales.

Temas

Aprende más sobre SQL con estos cursos

curso

Introduction to SQL

2 hr
1.1M
Learn how to create and query relational databases using SQL in just two hours.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado
Data engineering interview q and a

blog

Las 39 mejores preguntas y respuestas de entrevistas sobre ingeniería de datos en 2025

Supera tu próxima entrevista con esta recopilación de preguntas y respuestas para entrevistas a ingenieros de datos, que te ayudarán a prepararte para las distintas fases, desde la selección de RR.HH. hasta las evaluaciones técnicas en profundidad, incluyendo preguntas sobre Python y SQL.
Abid Ali Awan's photo

Abid Ali Awan

40 min

blog

20 preguntas principales de la entrevista sobre SQL Joins

Prepara tu entrevista SQL con esta lista de las preguntas más comunes sobre SQL Joins
Javier Canales Luna's photo

Javier Canales Luna

15 min

blog

Las 23 mejores preguntas y respuestas de entrevistas sobre Python

Preguntas esenciales de una entrevista sobre Python con ejemplos para solicitantes de empleo, estudiantes de último curso y profesionales de los datos.
Abid Ali Awan's photo

Abid Ali Awan

30 min

blog

30 preguntas de entrevista sobre Azure: De Básico a Avanzado

Una recopilación de las mejores preguntas para entrevistas sobre Azure adaptadas a todos los niveles de experiencia. Tanto si eres un candidato principiante, intermedio o avanzado, estas preguntas y respuestas te ayudarán a prepararte con confianza para tu próxima entrevista de trabajo relacionada con Azure.
Josep Ferrer's photo

Josep Ferrer

30 min

blog

Las 32 mejores preguntas y respuestas de la entrevista sobre Snowflake para 2024

¿Estás buscando actualmente un trabajo que utilice Snowflake? Prepárate con estas 32 preguntas de entrevista para conseguir el puesto.
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 min

blog

14 preguntas de la entrevista al analista de datos: cómo preparar una entrevista de analista de datos en 2024

Si estás buscando tu primer trabajo de analista de datos o quieres ascender en tu carrera, utiliza esta guía para prepararte para la entrevista, practicar algunas preguntas de la entrevista de analista de datos y conseguir el trabajo de tus sueños.
Matt Crabtree's photo

Matt Crabtree

12 min

Ver másVer más