Video Club Tarea 2 - Solución

Documentos relacionados
Vistas en InformiX Sistemas de Bases de Datos II EMT CETP A/S Leonardo Carámbula

BASES DE DATOS I CONSULTA DE DATOS

SQL. Carlos A. Olarte BDI

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 1-Junio Nombre:

EJERCICIOS RESUELTOS

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers

Capítulo 4. Realización de consultas

select nombre from profesores where categoria='aso6';

Bases de Datos SQL - Ejemplos

ÍNDICE PRIMERA PARTE... 17

m046a Curso Consultando SQL Server 2005/2008 con Transact-SQL, 15 h

SQL (DML) Carlos A. Olarte Gestión y Modelación de SQL Datos (DML)

Ficheros y Bases de Datos Curso Primer Parcial. 7 de FEBRERO de Nombre:

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo

Ejercicios Resueltos de SQL

Ser capaces de realizar una consulta dentro de otra

Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012

UNION, INTERSECCION Y DIFERENCIA. SELECT TABLE Expresión con operador de reunión (SELECT * FROM PROFESOR) UNION (SELECT * FROM ESTUDIANTE)

Bases de Datos 2. Teórico

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: SELECT. Ing. Alfonso Vicente, PMP

LAS SUBCONSULTAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

ÍNDICE. Introducción... Capítulo 1. Novedades de Access

DML SQL II. Comparaciones con relaciones

LENGUAJE DE MANIPULACIÓN DE DATOS (DML) OPERADORES DE ÁLGEBRA RELACIONAL

1. DML. Las subconsultas

Primer Parcial de Fundamentos de Base de Datos

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

Formato para prácticas de laboratorio

8 SQL SERVER 2008 RA-MA

Querying Microsoft SQL Server 2012

ÍNDICE INTRODUCCIÓN...13

Descriptor del curso. Nombre del curso: Haciendo consultas en SQL Server Descripción:

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I

Base de datos con información de Vuelos, Reservas y Aviones

S.Q.L. (Lenguaje de Consulta Estructurada) Consultas Avanzadas. Sistemas de Bases de Datos II - ITS EMT CETP

Práctica A: Trabajo con subconsultas

Unidad. Lenguaje SQL. (Structured Query Language)

Primer Parcial de Fundamentos de Base de Datos

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

Base de Datos Oracle 10g: Introducción a SQL Código: D Duración: 5 días (40 horas)

Fundamentos de Matemática

Base de Datos SQL Server

EXISTS y NOT EXISTS. Empleados que no trabajan en el proyecto 527.

FUNCIONES EN SQL SERVER

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

Tema 4. SQL. Juan Ignacio Rodríguez de León

Realizar las siguientes consultas SPARQL a la dbpedia ( o

Tema 4. Manipulación de datos con SQL

Consultas con combinaciones

Práctica Consultas SQL DML

DML en SQL. Consultas sencillas usando el DML de SQL

SQL (Structured Query Language)- DML

SQL. Orígenes y Evolución

Curso SQL Nivel Avanzado 1. Miguel Jurado García

EL LENGUAJE DE BASES DE DATOS SQL (DDL, DML, TRIGGERS Y STORE PROCEDURES)

Guía de ejercicios de SQL

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

CONSULTAS DE RESUMEN SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CURSO DE SQL SERVER 2005

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales

Álvaro Herrera Modelamiento Avanzado de Datos con PostgreSQL

Lenguaje SQL. SQL Structured Query Languaje. Capacidades del Lenguaje. Estructura Básica de una consulta SQL

Entrarás a formar parte de nuestra bolsa de empleo a la que acuden las empresas en busca de nuestros alumnos.

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

CURSO TRANSACT SQL MANUAL TÉCNICO CURSO TRANSACT SQL MANUAL TÉCNICO 1

EXPLOTACIÓN DE BASES DE DATOS CON ACCESS

EJERCICIOS SQL - TABLAS S, P Y SP

El lenguaje SQL es un lenguaje estándar para el acceso y

Ejercicios de Algebra Relacional y Cálculo Relacional

CONSULTAS MULTITABLAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Lenguaje SQL 1ª Parte: Manipulación de Bases de Datos

ST31_Querying Microsoft SQL Server

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional

Bases de Datos: Structured Query Language (SQL)

1. Dadas las tablas ALUM y NUEVOS, insertar en la tabla ALUM los nuevos alumnos.

Sistemas de Bases de Datos II

Temario. Índices simples Árboles B Hashing

Consultas en JPA-QL. Sistemas de Persistencia de Objetos

ACERCA DE LOS AUTO RES... III AGRADECIMIENTOS... xi INTRODUCCION... Xl

BASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) <SELECT1> UNION <SELECT2> UNION <SELECTN> Copyright 2006, 2007 Instituto Gala

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO

Solución Práctico 4 SQL

Lenguaje SQL. 1- Seleccionar las ciudades de más de 1 millón de habitantes.

Introducción SQL. Ges2ón y Modelación de Datos María Constanza Pabón

Consultas Complejas:

FORMACIÓN E-LEARNING. Curso de Lenguaje SQL para Oracle

ORACLE 10g. Descripción A QUIEN VA DIRIGIDO?

DESCRIPCIÓN ESPECÍFICA

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas

3 Consultas y subconsultas

3ra. Parte. Bases de Datos Relacionales

SÍLABO. : Obligatorio : Ingeniería de Sistemas : IS0704. : VII Ciclo : 03 Teoría y 02 Práctica : 04 : Lenguaje de Programación II

Temario. Índices simples Árboles B Hashing

SQL Server FEMEPA SQL Server 2000

BREVE INTRODUCCIÓN AL SQL Aplicación al Programa Escuela Última actualización: 17/10/2000

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 27 28, SQL básico. Carlos Rodrigo Blanco LAEFF INTA

MANUAL BÁSICO DEL LENGUAJE SQL

Transcripción:

Video Club Tarea 2 - Solución 1. Devolver el identificador de los clientes que, habiendo alquilado películas, sólo alquilaron películas en la sucursal donde se hicieron socios. select distinct (a.id_cliente from alquileres a, clientes c where a.id_sucursal = c.id_sucursal and a.id_cliente = c.id_cliente and not exists ( from alquileres a1 where a1.id_cliente = a.id_cliente and a1.id_sucursal <> c.id_sucursal 2. Obtener las parejas de sucursales (idsucursal1, idsucursal2 que tienen exactamente las mismas películas, sin considerar la cantidad de ejemplares que existen en cada una de ellas. ATENCION: no deben devolverse parejas simétricas. select distinct (i1.id_sucursal, i2.id_sucursal as (idsucursal1, idsucursal2 from inventario i1, inventario i2 where i1.id_pelicula = i2.id_pelicula and i1.id_sucursal < i2.id_sucursal and not exists from inventario i3 where i3.id_sucursal = i1.id_sucursal and not exists ( from inventario i4 where i4.id_sucursal = i2.id_sucursal and i4.id_pelicula = i3.id_pelicula and not exists from inventario i3 where i3.id_sucursal = i2.id_sucursal and not exists ( from inventario i4 where i4.id_sucursal = i1.id_sucursal and i4.id_pelicula = i3.id_pelicula Página 1 de 5

3. Para cada película que ha sido alquilada devolver el identificador de la misma y la duración del alquiler más reciente (duración. Tener en cuenta que puede existir más de un alquiler en la fecha más reciente, en cuyo caso se desea devolver la máxima duración de ese conjunto de alquileres. Para los alquileres que no han sido devueltos la duración a devolver corresponde al tiempo transcurrido entre la fecha de alquiler y el momento en que se realiza la consulta. select a.id_pelicula, max(coalesce(a.fecha_devolucion, now(-a.fecha as duracion from alquileres a ( from alquileres a1 where a.id_pelicula = a1.id_pelicula and a1.fecha > a.fecha group by id_pelicula 4. Devolver el identificador de las sucursales que poseen más socios que el promedio de socios por sucursal pero que tienen registrados menos alquileres que el promedio de cantidad de alquileres por sucursal. Para esta consulta pueden usar subconsultas en el FROM select id_sucursal from clientes group by id_sucursal having count(*> ( select avg(cantsocios from (select count(* as cantsocios from clientes group by id_sucursal as s intersect select id_sucursal from alquileres group by id_sucursal having count(*< ( select avg(cantalquileres from (select count(* as cantalquileres from alquileres group by id_sucursal as a Página 2 de 5

5. Devolver el identificador, nombre y apellido de empleados activos que trabajan en la sucursal con mayor cantidad de alquileres, pero que nunca recibieron el pago de ningún alquiler. select p.id_personal, p.nombre, p.apellido from personal p where p.activo is true and p.id_sucursal in (select a.id_sucursal from alquileres a group by a.id_sucursal having count(* >= ALL (select count(* from alquileres a2 group by a2.id_sucursal and p.id_personal not in( select id_personal_recibe_pago from pagos 6. Devolver el identificador, título y cantidad de actores (cant_actores de películas tales que no hay otra película que tiene costo de reemplazo mayor que ella y con la cual comparte actores. select pe.id_pelicula, pe.titulo, count(* as cant_actores from actores_de_peliculas act NATURAL JOIN peliculas pe from actores_de_peliculas act3 NATURAL JOIN peliculas pe2 act3.id_actor = act2.id_actor Otra solución considerada como válida: select pe.id_pelicula, pe.titulo, 0 as cant_actores from peliculas pe from actores_de_peliculas act where act.id_pelicula = pe.id_pelicula UNION select pe.id_pelicula, pe.titulo, count(* as cant_actores Página 3 de 5

from actores_de_peliculas act NATURAL JOIN peliculas pe from actores_de_peliculas act3 NATURAL JOIN peliculas pe2 act3.id_actor = act2.id_actor select pe.id_pelicula, pe.titulo, count(id_actor as cant_actores from actores_de_peliculas act RIGHT JOIN peliculas pe on (act.id_pelicula = pe.id_pelicula from actores_de_peliculas act3 RIGHT JOIN peliculas pe2 on (act3.id_pelicula = pe2.id_pelicula act3.id_actor = act2.id_actor ; 7. Devolver identificador, nombre y apellido de aquellos clientes que han alquilado todas las peliculas que se encuentran en las sucursales de la ciudad donde vive. Tener en cuenta que los alquileres pueden haber sido realizados en sucursales que no estén ubicadas en la ciudad donde vive el cliente. select C.id_cliente from clientes C from Inventario I natural join sucursales S where S.id_ciudad = C.id_ciudad and not exists from alquileres A where A.id_pelicula = I.id_pelicula and A.id_cliente = C.id_cliente and exists from sucursales s where c.id_ciudad = s.id_ciudad Página 4 de 5

8. Devolver identificador y nombre de actores que han participado en películas con clasificación NC-17 de todas las categorias conocidas select A.id_actor, A.nombre from actores A from categorias C from (categorias_de_peliculas CP natural join actores_de_peliculas AP natural join peliculas P where P.clasificacion = 'NC-17' and CP.id_categoria = C.id_categoria and AP.id_actor = A.id_actor Página 5 de 5