wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

2 Parcial BDD

Total questions: 47

Worksheet time: 3hrs 2mins

Name
Class
Date
1.

¿Cuál es la palabra clave utilizada para crear un procedimiento almacenado en MySQL?

a)

CREATE PROCEDURE

b)

CREATE STORED PROCEDURE

c)

CREATE ROUTINE

2.

¿Cuál es la función principal de un procedimiento almacenado?

a)

Almacenar datos en una tabla.

b)

Crear una conexión a la base de datos.

c)

Agrupar múltiples instrucciones SQL para ejecutarlas como una unidad.

d)

Generar reportes personalizados.

3.

¿Cómo se invoca un procedimiento almacenado en MySQL?

a)

CALL nombre_procedimiento

b)

EXECUTE nombre_procedimiento

c)

RUN nombre_procedimiento

d)

Todas las anteriores

4.

¿Qué tipo de datos puede devolver un procedimiento almacenado?

a)

Solo números.

b)

Solo cadenas de texto.

c)

Diversos tipos de dato, incluyendo conjuntos de resultados.

d)

Ninguno, los procedimientos almacenados solo ejecutan instrucciones.

5.

Un procedimiento almacenado puede modificar datos en una tabla.

a)

Verdadero

b)

Falso

6.

¿Cuál es la sintaxis correcta para definir un parámetro de entrada en un procedimiento almacenado en MySQL?

a)

IN nombre_parametro TIPO

b)

INPUT nombre_parametro TIPO

c)

PARAM nombre_parametro TIPO

d)

@nombre_parametro TIPO

7.

¿Cómo se asigna un valor a un parámetro de salida en un procedimiento almacenado?

a)

SET nombre_parametro = valor;

b)

OUTPUT nombre_parametro = valor;

c)

RETURN valor;

d)

Ninguna de las anteriores

8.

¿Cuál es la diferencia entre un parámetro IN y un parámetro OUT?

a)

Los parámetros IN se utilizan para pasar datos al procedimiento, mientras que los parámetros OUT se utilizan para devolver datos al llamador.

b)

Los parámetros IN se pueden modificar dentro del procedimiento, mientras que los parámetros OUT no.

c)

Los parámetros IN son obligatorios, mientras que los parámetros OUT son opcionales.

d)

No hay diferencia entre ambos.

9.

Un procedimiento almacenado no puede tener múltiples parámetros de entrada y salida.

a)

Verdadero

b)

Falso

10.

¿Qué tipo de subconsulta devuelve un único valor?

a)

Subconsulta escalar

b)

Subconsulta correlacionada

c)

Subconsulta múltiple

d)

Subconsulta anidada

11.

¿Cuándo se utiliza una subconsulta correlacionada?

a)

Cuando se necesita comparar valores de una fila con valores de otra fila en la misma tabla.

b)

Cuando se necesita obtener un valor agregado (SUM, COUNT, AVG) de una tabla.

c)

Cuando se necesita unir dos tablas con diferentes estructuras.

d)

Cuando se necesita crear una tabla temporal.

12.

¿Cuál de las siguientes cláusulas se utiliza comúnmente con subconsultas correlacionadas?

a)

GROUP BY

b)

HAVING

c)

EXISTS

d)

Todas las anteriores

13.

Aunque es común colocar subconsultas correlacionadas en la cláusula WHERE, pueden utilizarse en otras partes de una sentencia SQL

a)

Verdadero

b)

Falso

14.

¿Cuál es la principal diferencia entre una subconsulta escalar y una subconsulta correlacionada?

a)

La subconsulta escalar devuelve múltiples valores, mientras que la subconsulta correlacionada devuelve un único valor.

b)

La subconsulta escalar se puede utilizar en cualquier parte de una sentencia SQL, mientras que la subconsulta correlacionada solo se puede utilizar en la cláusula WHERE.

c)

La subconsulta escalar no hace referencia a la tabla externa, mientras que la subconsulta correlacionada sí.

d)

No hay diferencia entre ambas.

15.

¿Cuál es la estructura básica de un bloque IF en un procedimiento almacenado MySQL?

a)

IF condición THEN instrucciones END IF;

b)

IF condición THEN instrucciones ELSE instrucciones END IF;

c)

IF condición instrucciones END IF;

d)

Todas las anteriores son correctas.

16.

La sentencia CASE se puede utilizar para implementar decisiones múltiples en un procedimiento almacenado.

a)

Verdadero

b)

Falso

17.

¿Cuál es la ventaja de utilizar subconsultas dentro de un procedimiento almacenado?

a)

Permite realizar cálculos más complejos.

b)

Puede aumentar la eficiencia del sp (si se usan eficientemente)

c)

Puede simplificar la lógica del procedimiento almacenado.

d)

Todas las anteriores.

18.

¿Cómo se puede utilizar una subconsulta correlacionada para actualizar el contenido de una tabla dentro de un procedimiento almacenado?

a)

a-Utilizando la cláusula UPDATE con una subconsulta en la cláusula SET.

b)

b-Utilizando la cláusula DELETE con una subconsulta en la cláusula WHERE.

c)

Ambas opciones son correctas(a y b).

d)

Ninguna de las anteriores.

19.

Las subconsultas pueden utilizarse tanto en la cláusula WHERE como en la cláusula HAVING de un procedimiento almacenado.

a)

Verdadero

b)

Falso

20.

¿Cuál es la diferencia entre utilizar una subconsulta en una cláusula WHERE y en una cláusula HAVING?

a)

La cláusula WHERE se utiliza para filtrar filas antes de que se agrupen los datos, mientras que la cláusula HAVING se utiliza para filtrar grupos de datos.

b)

La cláusula WHERE solo puede contener una subconsulta, mientras que la cláusula HAVING puede contener múltiples subconsultas.

c)

La cláusula WHERE se utiliza para actualizar datos, mientras que la cláusula HAVING se utiliza para seleccionar datos.

d)

No hay diferencia entre ambas.

21.

¿Cuál de las siguientes técnicas puede mejorar el rendimiento de una consulta con subconsultas?

a)
  • Optimizar la cantidad de datos procesados en las subconsultas.

b)

Evitar subconsultas correlacionadas si es posible.

c)

Simplificar las expresiones lógicas dentro de la subconsulta.

d)

Todas las anteriores.

22.

¿Cuándo es preferible utilizar una unión (JOIN) en lugar de una subconsulta?

a)

Cuando se necesita relacionar datos de dos o más tablas.

b)

Cuando se necesita filtrar los resultados de una consulta.

c)

Cuando se necesita realizar cálculos complejos.

d)

Siempre es mejor utilizar una unión que una subconsulta.

23.

¿Cuál es la diferencia entre utilizar EXISTS e IN en una subconsulta?

a)

EXISTS verifica si una subconsulta devuelve al menos una fila, mientras que IN verifica si un valor existe en un conjunto de valores.

b)

EXISTS es más eficiente que IN.

c)

IN solo puede utilizarse con subconsultas escalares.

d)

Todas las anteriores son correctas.

24.

¿Cuándo es preferible utilizar EXISTS en lugar de IN?

a)

Cuando se necesita verificar la existencia de una fila en una tabla relacionada

(true/false).

b)

Cuando se necesita obtener un valor agregado de una subconsulta.

c)

Cuando se necesita comparar un valor con un rango de valores.

d)

Todas las anteriores.

25.

¿Cuál de las siguientes consultas es más eficiente para encontrar clientes que no hayan realizado ningún pedido?

a)

SELECT * FROM clientes WHERE cliente_id NOT IN (SELECT cliente_id FROM pedidos);

b)

SELECT * FROM clientes WHERE NOT EXISTS (SELECT 1 FROM pedidos WHERE pedidos.cliente_id = clientes.cliente_id);

26.

¿Qué es una subconsulta anidada?

a)

Una subconsulta dentro de otra subconsulta.

b)

Una subconsulta que se utiliza en la cláusula HAVING.

c)

Una subconsulta que se utiliza en la cláusula GROUP BY.

d)

Ninguna de las anteriores.

27.

¿Cuándo se deben evitar las subconsultas anidadas?

a)

Cuando las subconsultas son muy complejas.

b)

Cuando las subconsultas se utilizan en la cláusula WHERE de una subconsulta externa.

c)

Cuando las subconsultas pueden ser reemplazadas por una unión.

d)

Todas las anteriores.

28.

Las subconsultas múltiples pueden mejorar el rendimiento de una consulta.

a)

Verdadero

b)

Falso

29.

¿Cuál es la sintaxis correcta para crear un procedimiento almacenado en MySQL?

a)

CREATE PROCEDURE nombre_procedimiento()

b)

CREATE PROCEDURE nombre_procedimiento AS BEGIN instrucciones END;

c)

CREATE PROCEDURE nombre_procedimiento() BEGIN instrucciones END;

d)

CREATE PROCEDURE nombre_procedimiento() BEGIN END;

30.

LAST_INSERT_ID(), es una variable global ampliamente utilizada en procedimientos almacenados para obtener el ID generado automáticamente de la última fila insertada en una tabla con una columna de clave primaria autoincremental

a)

Verdadero

b)

Falso

31.

ROW_COUNT() devuelve el número de filas afectadas por la última sentencia INSERT, UPDATE, DELETE, o REPLACE

a)

Verdadero

b)

Falso

32.

Cuando necesitamos obtener un valor de una consulta y almacenarlo en variables locales dentro de un procedimiento almacenado usamos (completar en minúsculas)...

(a)  

33.

Para asignar un valor específico a una variable. Usualmente para valores simples y directos, usamos...

(a)  

34.

Para declarar variables locales dentro de un procedimiento almacenado, función, o bloque de código en SQL.

(a)  

35.

Un SP puede:

a)

Manejo de variables

b)

Realizar operaciones CRUD

c)

Llamar a otros procedimientos

d)

Ser utilizados en consultas SQL

36.

Completar:
CREATE PROCEDURE empleados_con_sueldo_mayor_promedio()

BEGIN

SELECT e.nombre, e.sueldo, e.departamento

FROM empleados e

WHERE e.sueldo > (

SELECT AVG(sueldo)

FROM empleados

WHERE departamento = (a)   );

END

37.

Completar los espacios en blanco:   

SELECT nombre

FROM clientes

WHERE id_cliente IN (SELECT id_cliente

    FROM ventas

    WHERE id_producto ............... (SELECT id_producto

        FROM productos

        WHERE id_categoria ................. (SELECT id_categoria

            FROM categorias

            WHERE nombre = 'Libros')));

a)

a) = / IN

b)

B) = / =

c)

C) IN / IN

d)

d) IN / =

38.

Seleccione el "llamado" correcto:

CREATE PROCEDURE ejemplo( IN p_id_cliente INT, OUT p_saldo_actual DECIMAL(10,2), INOUT p_numero_transacciones INT )

BEGIN

.........................

END

a)

SET @saldo = 0;

SET @transacciones = 5;

CALL ejemplo('1', @saldo, @transacciones);

b)

SET @saldo = 0;

SET @transacciones = 5;

CALL ejemplo(1, @saldo, transacciones);

c)

SET @saldo = 0;

SET @transacciones = 5;

CALL ejemplo(1, @saldo, @transacciones);

39.

Sentencia para eliminar un Procedimiento Almacenado: Delete nombre_procedimiento

a)

VERDADERO

b)

FALSO

40.

¿Cómo se utiliza la cláusula EXISTS en una subconsulta?

a)

Se utiliza en combinación con la cláusula FROM en la consulta principal.

b)

Se utiliza en combinación con la cláusula SELECT en la consulta principal.

c)

Se utiliza en combinación con la cláusula GROUP BY en la consulta principal.

d)

Se utiliza en combinación con la cláusula WHERE en la consulta principal.

41.

¿Cuál es la diferencia entre una subconsulta con IN y una subconsulta con EXISTS?

a)

La subconsulta con IN devuelve valores si hay una coincidencia en la lista de valores proporcionada, mientras que la subconsulta con EXISTS devuelve un valor booleano (verdadero o falso) si la subconsulta devuelve algún resultado.

b)

La subconsulta con IN devuelve valores si hay una coincidencia en la lista de valores proporcionada, mientras que la subconsulta con EXISTS devuelve valores si no hay una coincidencia en la subconsulta.

c)

La subconsulta con IN devuelve valores si no hay una coincidencia en la lista de valores proporcionada, mientras que la subconsulta con EXISTS devuelve un valor booleano (verdadero o falso) si la subconsulta devuelve algún resultado.

d)

La subconsulta con IN devuelve un valor booleano (verdadero o falso) si la subconsulta devuelve algún resultado, mientras que la subconsulta con EXISTS devuelve valores si hay una coincidencia en la lista de valores proporcionada.

42.

Elige la sintaxis correcta

a)

SELECT * FROM alumnos WHERE dni = (SELECT dni FROM alumnos WHERE apellido LIKE "A%");

b)

SELECT * FROM alumnos WHERE dni = (SELECT dni, apellido FROM alumnos WHERE apellido LIKE "A%");

c)

SELECT * FROM alumnos WHERE dni IN (SELECT dni, apellido FROM alumnos WHERE apellido LIKE "A%");

d)

SELECT * FROM alumnos WHERE dni IN (SELECT dni FROM alumnos WHERE apellido LIKE "A%");

43.

Queremos contar las horas lectivas del profesor/a de apellido "Buenavista":

SELECT _1_ FROM asignaturas a WHERE a.DNIProfesor = (SELECT p.DNI FROM personal p WHERE apellido1 _2_ "Buenavista");

a)
  1. 1. COUNT(*)

  2. 2. LIKE

b)
  1. 1. SUM(HorasLectivas)

  2. 2. LIKE

c)
  1. 1. SUM(HorasLectivas)

  2. 2. =

d)
  1. 1. COUNT(HorasLectivas)

  2. 2. =

44.

¿Cuál es la diferencia entre los operadores ALL y ANY en subconsultas?

a)

ALL verifica que la condición se cumpla para todos los valores devueltos por la subconsulta, mientras que ANY verifica que se cumpla para al menos uno de los valores.

b)

ALL devuelve todos los registros de la subconsulta, mientras que ANY devuelve solo algunos registros.

c)

ALL es más eficiente que ANY en términos de rendimiento.

d)

No hay diferencia, son sinónimos en MySQL.

45.

Los operadores SOME y ANY son sinónimos en MySQL y pueden utilizarse indistintamente en subconsultas.

a)

Verdadero

b)

Falso

46.

¿Cuál de las siguientes consultas devuelve empleados cuyo sueldo sea mayor que el sueldo de TODOS los empleados del departamento 5?

a)

SELECT * FROM empleados WHERE sueldo > ANY (SELECT sueldo FROM empleados WHERE departamento = 5);

b)

SELECT * FROM empleados WHERE sueldo > ALL (SELECT sueldo FROM empleados WHERE departamento = 5);

c)

SELECT * FROM empleados WHERE sueldo > SOME (SELECT sueldo FROM empleados WHERE departamento = 5);

d)

Todas las anteriores son correctas.

47.

¿Cuál es la sintaxis correcta para sumar 7 días a una fecha en MySQL usando INTERVAL?

a)

SELECT fecha + INTERVAL 7 DAYS;

b)

SELECT DATE_ADD(fecha, INTERVAL 7 DAY);

c)

SELECT fecha + INTERVAL '7' DAY;

d)

Todas las anteriores son correctas.