SQL (Structured Query Language) es un lenguaje de consulta usado para interactuar con bases de datos. Los testers a menudo necesitan verificar datos en bases de datos, escribir consultas para extraer datos y analizar los resultados.
Entender SQL es una habilidad importante para los testers, especialmente cuando trabajan con bases de datos. SQL permite realizar varias operaciones con los datos, como la selección, inserción, actualización y eliminación de datos. Esto lo convierte en una herramienta indispensable para los testers que trabajan con bases de datos.
Consultas SQL principales y sus ejemplos
Lee también Guía Completa de Consultas SQL
SELECT
La consulta SELECT se usa para extraer datos de una tabla. Permite extraer datos de una o varias tablas y representarlos de forma conveniente.
SELECT * FROM users;Esta consulta selecciona todas las columnas de la tabla users. También puedes seleccionar columnas específicas:
SELECT name, age FROM users;WHERE
La consulta WHERE se usa para filtrar datos. Permite seleccionar solo aquellas entradas que cumplen con ciertas condiciones.
SELECT * FROM users WHERE age > 30;Esta consulta selecciona todos los usuarios mayores de 30 años. Puedes combinar varias condiciones usando los operadores AND y OR:
SELECT * FROM users WHERE age > 30 AND city = 'Barcelona';JOIN
La consulta JOIN se usa para unir datos de varias tablas. Existen varios tipos de uniones, como INNER JOIN, LEFT JOIN, RIGHT JOIN y FULL JOIN.
SELECT users.name, orders.order_date
FROM users
JOIN orders ON users.id = orders.user_id;Esta consulta une las tablas users y orders por el campo user_id y selecciona los nombres de los usuarios y las fechas de sus pedidos.
INSERT
La consulta INSERT se usa para agregar nuevas entradas a una tabla. Permite insertar una o varias entradas en una sola consulta.
INSERT INTO users (name, age) VALUES ('John Doe', 28);Esta consulta agrega un nuevo usuario con el nombre John Doe y 28 años. También puedes insertar varias entradas al mismo tiempo:
INSERT INTO users (name, age) VALUES ('Jane Doe', 25), ('Alice', 30);UPDATE
La consulta UPDATE se usa para actualizar las entradas existentes. Permite cambiar los valores de una o varias columnas para las entradas que cumplen con ciertas condiciones.
UPDATE users SET age = 29 WHERE name = 'John Doe';Esta consulta actualiza la edad del usuario con el nombre John Doe a 29 años. Puedes actualizar varias columnas al mismo tiempo:
UPDATE users SET age = 29, city = 'Los Angeles' WHERE name = 'John Doe';DELETE
La consulta DELETE se usa para eliminar entradas de una tabla. Permite eliminar una o varias entradas que cumplen con ciertas condiciones.
DELETE FROM users WHERE name = 'John Doe';Esta consulta elimina al usuario con el nombre John Doe. Ten cuidado con las consultas DELETE, ya que son irreversibles.
Preguntas típicas de la entrevista sobre SQL
- ¿Qué es SQL y para qué se utiliza?
SQL es un lenguaje de consulta usado para interactuar con bases de datos. Permite realizar operaciones de selección, inserción, actualización y eliminación de datos. SQL se utiliza para gestionar datos en bases de datos relacionales, como MySQL, PostgreSQL, Oracle y SQL Server.
- Explica la diferencia entre INNER JOIN y LEFT JOIN.
INNER JOIN devuelve solo aquellas entradas que tienen coincidencias en ambas tablas. LEFT JOIN devuelve todas las entradas de la tabla de la izquierda y las entradas coincidentes de la tabla de la derecha (si existen), y para las coincidencias que faltan en la tabla de la derecha devuelve NULL. Por ejemplo, si tienes las tablas users y orders, INNER JOIN devolverá solo aquellos usuarios que tienen pedidos, mientras que LEFT JOIN devolverá todos los usuarios, incluyendo aquellos que no tienen pedidos.
- ¿Cómo se usan las subconsultas en SQL?
Las subconsultas son consultas anidadas dentro de otras consultas. Se pueden usar en los operadores SELECT, INSERT, UPDATE y DELETE. Las subconsultas permiten realizar selecciones y filtrados de datos complejos.
SELECT name FROM users WHERE id IN (SELECT user_id FROM orders WHERE order_date > '2023-01-01');Esta consulta selecciona los nombres de los usuarios que realizaron pedidos después del 1 de enero de 2023. Las subconsultas pueden anidarse en varios niveles, lo que permite crear consultas complejas.
- ¿Qué es la normalización de una base de datos?
La normalización es el proceso de organizar los datos en una base de datos para reducir la redundancia y mejorar la integridad de los datos. Existen varias formas normales, cada una con sus reglas y objetivos. Por ejemplo, la primera forma normal (1NF) requiere que todas las columnas contengan valores atómicos, y la segunda forma normal (2NF) requiere que todas las columnas no clave dependan de toda la clave primaria.
- ¿Cuáles son los tipos de datos principales en SQL?
Los tipos de datos principales incluyen INT (números enteros), VARCHAR (cadenas de longitud variable), DATE (fechas), BOOLEAN (valores booleanos) y otros. Por ejemplo, el tipo de dato INT se usa para almacenar números enteros, VARCHAR para cadenas de longitud variable, DATE para fechas y BOOLEAN para valores booleanos (verdadero o falso).
Tareas prácticas y ejemplos de soluciones
- Tarea 1: Selección de usuarios mayores de 25 años
SELECT * FROM users WHERE age > 25;Esta consulta selecciona todos los usuarios mayores de 25 años. Puedes usar diferentes operadores para filtrar datos, como =, >, <, >=, <= y <>.
- Tarea 2: Unión de tablas de usuarios y pedidos
SELECT users.name, orders.order_date
FROM users
JOIN orders ON users.id = orders.user_id;Esta consulta une las tablas users y orders por el campo user_id y selecciona los nombres de los usuarios y las fechas de sus pedidos. Puedes usar diferentes tipos de uniones, como INNER JOIN, LEFT JOIN, RIGHT JOIN y FULL JOIN, según tus necesidades.
- Tarea 3: Agregar un nuevo usuario
INSERT INTO users (name, age) VALUES ('Alice', 30);Esta consulta agrega un nuevo usuario con el nombre Alice y 30 años. Puedes insertar varias entradas al mismo tiempo, usando la siguiente sintaxis:
INSERT INTO users (name, age) VALUES ('Bob', 25), ('Charlie', 35);- Tarea 4: Actualizar la edad de un usuario
UPDATE users SET age = 31 WHERE name = 'Alice';Esta consulta actualiza la edad del usuario con el nombre Alice a 31 años. Puedes actualizar varias columnas al mismo tiempo, usando la siguiente sintaxis:
UPDATE users SET age = 31, city = 'San Francisco' WHERE name = 'Alice';- Tarea 5: Eliminar un usuario
DELETE FROM users WHERE name = 'Alice';Esta consulta elimina al usuario con el nombre Alice. Ten cuidado con las consultas DELETE, ya que son irreversibles. Puedes eliminar varias entradas al mismo tiempo, usando la siguiente sintaxis:
DELETE FROM users WHERE age < 20;Consejos para prepararse para la entrevista
- Practica con datos reales.
- Entiende la teoría.
- Resuelve problemas.
- Estudia ejemplos.
- Prepárate para preguntas sobre optimización.
- Entiende las transacciones y los bloqueos.
- Estudia diferentes SGBD.
- Entiende el trabajo con grandes datos.
- Entiende el trabajo con tablas temporales.
- Entiende el trabajo con procedimientos almacenados y disparadores.
¡Mucha suerte en la preparación para la entrevista!

