SQL – Nivel 2 – Test 1

SQL – Nivel 2 – Test 1

Test-1 SQL Nivel 2

¿Qué hace la cláusula HAVING en SQL?

¿Cuál es la diferencia entre DELETE y TRUNCATE en SQL?

¿Qué hace la cláusula UNION ALL en SQL?

¿Qué hace la función COALESCE en SQL?

Considera la siguiente tabla 'empleados':


CREATE TABLE empleados (
   id INT PRIMARY KEY,
   nombre VARCHAR(50),
   departamento VARCHAR(50),
   salario DECIMAL(10, 2)
);

¿Cuál sería la consulta correcta para obtener el salario promedio por departamento?

¿Cuál es el propósito de un índice en una base de datos SQL?

¿Qué es una clave foránea (foreign key) en SQL?

Considera la siguiente consulta:


SELECT departamento, COUNT(*) as num_empleados
FROM empleados
GROUP BY departamento
HAVING COUNT(*) > 5;

¿Qué hace esta consulta?

¿Qué tipo de JOIN devuelve todas las filas de ambas tablas, incluso si no hay coincidencias?

Dada la siguiente consulta:


SELECT nombre, salario
FROM empleados
WHERE salario > (SELECT AVG(salario) FROM empleados);

¿Qué hace esta consulta?




Tests similares

Respuestas:


1. ¿Qué hace la cláusula HAVING en SQL?

Respuesta: Filtra grupos después de agrupar

Explicación:
La cláusula HAVING se utiliza para filtrar grupos creados por GROUP BY. Se aplica después del agrupamiento, mientras que WHERE filtra las filas antes del agrupamiento. Ejemplo:

SELECT departamento, COUNT(*)

FROM empleados

GROUP BY departamento

HAVING COUNT(*) > 5;


2. ¿Cuál es la diferencia entre DELETE y TRUNCATE en SQL?

Respuesta: DELETE elimina filas específicas, TRUNCATE elimina todas las filas

Explicación:

  • DELETE: Permite eliminar filas específicas utilizando una cláusula WHERE.
  • TRUNCATE: Elimina todas las filas de una tabla de forma rápida, pero no permite filtros.

Ejemplo:

DELETE FROM empleados WHERE id = 1;

TRUNCATE TABLE empleados;


3. Dada la consulta: SELECT nombre, salario FROM empleados WHERE salario > (SELECT AVG(salario) FROM empleados); ¿Qué hace esta consulta?

Respuesta: Selecciona empleados con salario mayor que el promedio

Explicación:
La consulta anidada (SELECT AVG(salario) FROM empleados) calcula el salario promedio. Luego, el WHERE filtra los empleados cuyo salario sea mayor que ese promedio.


4. ¿Qué tipo de JOIN devuelve todas las filas de ambas tablas, incluso si no hay coincidencias?

Respuesta: FULL OUTER JOIN

Explicación:
Un FULL OUTER JOIN devuelve todas las filas de ambas tablas. Si no hay coincidencia, las columnas faltantes contienen NULL.

Ejemplo:

SELECT a.nombre, b.departamento

FROM tabla_a a

FULL OUTER JOIN tabla_b b ON a.id = b.id;


5. ¿Qué es una clave foránea (foreign key) en SQL?

Respuesta: Una clave que se refiere a la clave primaria de otra tabla

Explicación:
Una clave foránea establece una relación entre dos tablas al referenciar la clave primaria de otra tabla. Esto asegura la integridad referencial.

Ejemplo:

CREATE TABLE pedidos (

   id INT PRIMARY KEY,

   cliente_id INT,

   FOREIGN KEY (cliente_id) REFERENCES clientes(id)

);


6. ¿Cuál es el propósito de un índice en una base de datos SQL?

Respuesta: Acelerar la recuperación de datos

Explicación:
Un índice mejora la velocidad de las consultas al permitir búsquedas rápidas en columnas indexadas. Sin embargo, puede ralentizar las operaciones de inserción, actualización o eliminación.

Ejemplo:

CREATE INDEX idx_nombre ON empleados(nombre);


7. ¿Qué hace la función COALESCE en SQL?

Respuesta: Devuelve el primer valor no nulo de la lista

Explicación:
COALESCE toma varios argumentos y devuelve el primero que no sea NULL. Es útil para manejar valores predeterminados.

Ejemplo:

SELECT COALESCE(direccion, ‘Dirección desconocida’) AS direccion_final

FROM empleados;


8. Considera la consulta: SELECT departamento, COUNT(*) as num_empleados FROM empleados GROUP BY departamento HAVING COUNT(*) > 5; ¿Qué hace esta consulta?

Respuesta: Lista departamentos con más de 5 empleados

Explicación:
Esta consulta agrupa los empleados por departamento, cuenta cuántos empleados hay en cada uno y filtra los departamentos con más de 5 empleados mediante HAVING.


9. ¿Qué hace la cláusula UNION ALL en SQL?

Respuesta: Combina los resultados de dos o más consultas, incluyendo duplicados

Explicación:
UNION ALL combina los resultados de varias consultas y conserva los duplicados. A diferencia de UNION, no elimina filas repetidas.

Ejemplo:

SELECT nombre FROM empleados

UNION ALL

SELECT nombre FROM clientes;


10. ¿Cuál sería la consulta correcta para obtener el salario promedio por departamento?

Respuesta: SELECT departamento, AVG(salario) FROM empleados GROUP BY departamento;

Explicación:
Para calcular el salario promedio por departamento, primero agrupamos los datos por departamento utilizando GROUP BY y luego aplicamos la función AVG() a la columna salario.

Deja un comentario