curso
Las 85 mejores preguntas y respuestas de entrevistas SQL para 2025
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
- Preguntas generales. Espera preguntas sobre tu experiencia, los sabores de SQL que conoces y tu nivel de competencia.
- 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
- Funciones en SQL. Debes conocer las funciones agregadas y escalares, así como las funciones incorporadas y las definidas por el usuario.
- Comandos avanzados. Las preguntas pueden abarcar temas como uniones, claves primarias y foráneas, índices y relaciones SQL.
- 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.
- 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
,TRUNCATE
yADD COLUMN
- LMD:
UPDATE
,DELETE
yINSERT
- DCL
GRANT
yREVOKE
- TCL:
COMMIT
,SET TRANSACTION
,ROLLBACK
ySAVEPOINT
- 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
yUNIQUE
).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
,BETWEEN
etc.) - Cadena (
%
,_
,+
,^
etc.) - Configura (
UNION
,UNION ALL
,INTERSECT
yMINUS
(oEXCEPT
))
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
, LIMIT
y 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 medioSUM()
- devuelve la suma de los valoresMIN()
- devuelve el valor mínimoMAX()
- devuelve el valor máximoCOUNT()
- devuelve el número de filas, incluidas las que tienen valores nulosFIRST()
- devuelve el primer valor de una columnaLAST()
- 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 blancoUCASE()
(en otros sabores de SQL -UPPER()
) - devuelve una cadena convertida a mayúsculasLCASE()
(en otros sabores de SQL -LOWER()
) - devuelve una cadena convertida a minúsculasINITCAP(
) - 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 cadenaROUND()
- devuelve el valor numérico redondeado a un número especificado de decimalesNOW()
- 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úsculasLCASE()
(en otros sabores de SQL -LOWER()
) - devuelve una cadena convertida a minúsculasINITCAP()
- 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 primeraSUBSTR()
- devuelve una parte de una cadena que satisface los puntos inicial y final proporcionadosLENGTH()
(en otras variantes de SQL -LEN()
) - devuelve la longitud de una cadena, incluidos los espacios en blancoREPLACE()
- sustituye todas las apariciones de una subcadena definida en una cadena proporcionada por otra subcadenaINSTR()
- devuelve la posición numérica de una subcadena definida en una cadena proporcionadaLPAD()
yRPAD()
- devuelve el relleno del carácter lado izquierdo/lado derecho para el valor justificado a la derecha/justificado a la izquierdaTRIM()
- 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 consultasEXCEPT
(llamadaMINUS
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?
SELECT
– FROM
– JOIN
– ON
– WHERE
– GROUP BY
– HAVING
– ORDER BY
– LIMIT
56. ¿En qué orden ejecuta el intérprete las sentencias comunes de la consulta SELECT?
FROM
– JOIN
– ON
– WHERE
– GROUP BY
– HAVING
– SELECT
– ORDER BY
– LIMIT
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:
- Introducción a SQL
- Fundamentos de SQL
- Analista de datos en SQL
- Análisis Exploratorio de Datos en SQL
- SQL para analistas empresariales
- Análisis de datos empresariales en SQL
- SQL intermedio
- SQL Server intermedio
- Aplicación de SQL a problemas del mundo real
- SQL Server para Administradores de Bases de Datos
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.

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.

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.
Aprende más sobre SQL con estos cursos
curso
Intermediate SQL
curso
Data Manipulation in SQL

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

blog
20 preguntas principales de la entrevista sobre SQL Joins
blog
Las 23 mejores preguntas y respuestas de entrevistas sobre Python
blog
30 preguntas de entrevista sobre Azure: De Básico a Avanzado

Josep Ferrer
30 min
blog
Las 32 mejores preguntas y respuestas de la entrevista sobre Snowflake para 2024

Nisha Arya Ahmed
20 min
blog