Hoja de ejercicios de Bases de datos y SQL con soluciones

Hoja de ejercicios de Bases de datos y SQL gratis e imprimible: 8 problemas desde nivel fácil hasta nivel de examen, con soluciones. Imprímela o guárdala como PDF.

Para docentes: pueden imprimirla, copiarla y usarla en clase gratis. Cada hoja nueva tiene valores nuevos y su propia clave de respuestas. Agradecemos un enlace a ExamProblems en la página de tu curso.

Nombre: ____________________   Fecha: ____________

1.Fácil

¿En qué se diferencia UNION ALL de UNION?

  1. AUNION ALL conserva las filas duplicadas
  2. BUNION ALL solo funciona con una tabla
  3. CUNION ALL ordena el resultado
  4. DUNION ALL elimina las filas duplicadas
2.Fácil

¿Qué hace GROUP BY en una consulta?

  1. AAgrupa las filas con los mismos valores para que las agregaciones se calculen por grupo
  2. BCombina dos tablas por sus columnas comunes
  3. COrdena alfabéticamente las filas del resultado
  4. DElimina las filas con valores NULL
3.Fácil

¿Qué devuelve un CROSS JOIN?

  1. ASolo las filas de la primera tabla
  2. BTodas las combinaciones de filas de las dos tablas
  3. CSolo las filas que no coinciden
  4. DSolo las filas que coinciden en una columna clave compartida
4.Media

En álgebra relacional, el operador de selección (σ) corresponde a ¿qué cláusula SQL?

  1. ALa lista SELECT
  2. BWHERE
  3. CGROUP BY
  4. DORDER BY
5.Media

Una tabla tiene filas en las que col es NULL. ¿Qué filas devuelve WHERE col = NULL?

  1. AUn error en todas las bases de datos
  2. BTodas las filas de la tabla
  3. CSolo las filas en las que col es NULL, como con IS NULL
  4. DNinguna fila, porque la comparación es desconocida
6.Media

¿Qué consulta muestra los clientes que nunca han hecho un pedido?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  4. DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
7.Difícil

¿Por qué se considera arriesgado NATURAL JOIN en las consultas de producción?

  1. ANinguna base de datos lo admite
  2. BSiempre devuelve un producto cartesiano
  3. CIgnora las claves primarias y foráneas y solo conserva las filas NULL
  4. DCombina por todas las columnas con el mismo nombre, así que una columna nueva puede cambiar el resultado sin avisar
8.Difícil

R(A, B, C, D) tiene las dependencias funcionales A → B y C → D. ¿Cuál es la clave candidata?

  1. A{B, D}
  2. B{A, C}
  3. C{A}
  4. D{C}

Soluciones

  1. 1. A · UNION ALL conserva las filas duplicadas
  2. 2. A · Agrupa las filas con los mismos valores para que las agregaciones se calculen por grupo
  3. 3. B · Todas las combinaciones de filas de las dos tablas
  4. 4. B · WHERE
  5. 5. D · Ninguna fila, porque la comparación es desconocida
  6. 6. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  7. 7. D · Combina por todas las columnas con el mismo nombre, así que una columna nueva puede cambiar el resultado sin avisar
  8. 8. B · {A, C}

Soluciones completas paso a paso: practica este tema en examproblems.com.