Este documento presenta las instrucciones y ejercicios de un taller sobre sentencias SQL. El taller contiene cuatro ejercicios que piden realizar consultas SQL utilizando diferentes tablas relacionales sobre películas, ordenadores, empleados y cigarrillos para obtener y manipular datos almacenados en las bases de datos.
Consultas SQL sobre bases de datos de películas, ordenadores e impresoras
1. SISTEMAS INTERACTIVOS DE COLOMBIA SECCIONAL CUCUTA – NORTE DE SANTANDER TALLER SENTECIAS-SQL TALLER SENTECIAS-SQL
2.
3. SISTEMAS INTERACTIVOS DE COLOMBIA SECCIONAL CUCUTA – NORTE DE SANTANDER TALLER SENTECIAS-SQL Ejercicio 1. Se tiene una base de datos de películas reflejada por las siguientes tablas: Película (#título, #año, duración, nombre _estudio) Estrella (#nombre, dirección, sexo, fecha _nacimiento) Estudio (#nombre, dirección) Protagoniza (#título_ película, #año_ película, #nombre _estrella) Se pide realizar las siguientes consultas en SQL (Se supone que todos los datos necesarios se encuentran almacenados en las tablas):
4. SISTEMAS INTERACTIVOS DE COLOMBIA SECCIONAL CUCUTA – NORTE DE SANTANDER TALLER SENTECIAS-SQL Encontrar la dirección de los estudios MGM. Encontrar todas las estrellas que participaron en películas realizadas en 1980 o en alguna película que contenga la palabra “Amor” en el título. ¿Quién fue la estrella masculina de “El nombre de la rosa”? ¿Qué películas tienen mayor duración que “Lo que el viento se llevó”? Encontrar el título y la duración de todas las películas producidas por los estudios Disney en el año 1990, ordenando la salida por su duración. Encontrar todas las estrellas que son hombres que viven en Malibu (tienen Malibu como parte de su dirección). ¿qué estrellas distintas aparecen en las películas producidas por la MGM en 1995? (Si una aparece varias veces mostrarla solo una vez). Encontrar la suma de la duración de todas las películas de cada estudio.
5. SISTEMAS INTERACTIVOS DE COLOMBIA SECCIONAL CUCUTA – NORTE DE SANTANDER TALLER SENTECIAS-SQL Ejercicio 2. Dada una base de datos de ordenadores e impresoras con las siguientes tablas Producto (#fabricante, #modelo, tipo) PC (#modelo, velocidad, ram, hd, cd, precio) Impresora (#modelo, color, tipo, precio) Realizar en SQL las siguientes consultas:
6. SISTEMAS INTERACTIVOS DE COLOMBIA SECCIONAL CUCUTA – NORTE DE SANTANDER TALLER SENTECIAS-SQL Encontrar el modelo, velocidad y tamaño de disco duro (hd) de todos los PC’s cuyo precio sea inferior a $1’600.000. R/: SelectPC.modelo, PC.velocidad, PC.hd From PC WherePC.precio< 1’600,000 Repetir la consulta de (a), pero cambiando el nombre a las columnas velocidad como Megaherzios y hd como Gigabytes. R/: UpdatePC Set PC=‘velocidad’ Where PC=‘megaherzios’ And Set PC=‘hd’ Where PC=‘gigabyte’ Encontrar todas las filas de las tablas de Impresoras que son en color. El valor de la columna color es booleano con los valores ’V’ y ’F’. R/: Select * fromimpresora Whereimpresora.color=‘true’
7. SISTEMAS INTERACTIVOS DE COLOMBIA SECCIONAL CUCUTA – NORTE DE SANTANDER TALLER SENTECIAS-SQL Encontrar la velocidad media de los PC’s. R/: SelectAvg(velocidad) From Pc Decir los fabricantes y la velocidad de los PC’s con disco duro de tamaño mayor o igual a 1 Gigabyte. R/: Selectproducto.fabricante, Pc.velocidadFrom producto, Pc WherePc.hd >=1 Encontrar los fabricantes de los PC’s con velocidad superior a 1600 MHz. R/: Selectproducto.fabricanteFromproducto,PcWherePc.velocidad >1600
8. SISTEMAS INTERACTIVOS DE COLOMBIA SECCIONAL CUCUTA – NORTE DE SANTANDER TALLER SENTECIAS-SQL Ejercicio 3. Dadas las siguientes tablas, dar una expresión SQL para cada una de las siguientes consultas: Vive (#nombre, calle, ciudad) Trabaja (#nombre, #compañía, salario) Situada (#compañía, ciudad) Dirige (#nombre, #nombre_director)
9. SISTEMAS INTERACTIVOS DE COLOMBIA SECCIONAL CUCUTA – NORTE DE SANTANDER TALLER SENTECIAS-SQL Encontrar el nombre y la ciudad de todos los empleados que trabajan en La Corte Inglesa R/: Selectvive.nombre, vive.ciudadFromvive,trabaja Wheretrabaja.compañiaLike ‘corte inglesa’ Encontrar todos los empleados que viven en la misma ciudad que la compañía en la que trabajan. R/: Selectvive.nombreFromvive,situadaWherevive.ciudad Likesituada.ciudad
10. SISTEMAS INTERACTIVOS DE COLOMBIA SECCIONAL CUCUTA – NORTE DE SANTANDER TALLER SENTECIAS-SQL Encontrar el salario y la compañía de todos los directores. R/: Select* Fromtrabaja.salario, trabaja.compañia, dirige.nombre_director Encontrar a todos los empleados que viven en la misma ciudad y en la misma calle que su director. R/: Select
12. SISTEMAS INTERACTIVOS DE COLOMBIA SECCIONAL CUCUTA – NORTE DE SANTANDER TALLER SENTECIAS-SQL Obtener todas las marcas de cigarrillos extranjeros R/: Selectcigarrillo.marcaFrom cigarrillo, fabricante Where fabricante <> ‘colombia’ Obtener el total de compras de cigarrillos con filtro (filtro = ’S’) realizadas por marca. R/: Selectcompras.cantidad, compras.marcaFrom compras Wherecompra.filtro=‘s’
13. SISTEMAS INTERACTIVOS DE COLOMBIA SECCIONAL CUCUTA – NORTE DE SANTANDER TALLER SENTECIAS-SQL Obtener una relación completa de todas las compras y ventas realizadas. R/: Selectcompras.CIF, compras.marca, compras.cantidad, compras.precio, ventas.CIF, ventas.marca, ventas.cantidad, ventas.precioFrom compras, ventas Obtener la relación de estancos que no han vendido cigarrillos ’Ducados’ con filtro. R/: Select*Fromestanco,cigarrilloWherecigarrillo.filtro=‘s’ Andcigarrillo.marca<> ‘ducado’