ejercicios-subquerys

5
Ejercicios SQL Avanzado: Estos ejercicios se pueden realizar usando el cliente MySQL Query Browser o cliente mysql. Parte 1: 1) Invoque alguna de las herramientas SQL el cliente MySQL Query Browser o cliente mysql. 2) Cree una base de datos nueva. Se necesita crear una estructura de tabla para almacenar datos. Ejecute las siguientes sentencias SQL para crear las tablas (En al archivo BD – Subquerys se encuentras todas las sentencias de creación de los objetos de base de datos). Parte 2: 1) ¿Se ejecutara exitosamente la siguiente sentencia SQL? SELECT * FROM actor; Nota: la sentencia SQL anterior contiene muchos espacios en blanco entre las palabras. 2) Listar el país del estudio ‘MGM’. Select pais, nombre from estudio Where nombre like ‘%mgm%’; 3) Listar los nombres y apellidos de los actores que participaron en películas realizadas en 1982, o en alguna película que contenga la palabra “FATAL” en el título. select * from actor where id_actor IN (select id_actor from elenco where id_pelicula IN (select id_pelicula from pelicula where titulo like '%FATAL%' or anno ='1982')); select a.* from actor INNER JOIN elenco e ON a.id_actor=e.id_actor INNER JOIN pelicula p ON e.id_pelicula=p.od_pelicula where titulo like '%FATAL%' or anno ='1982';

Upload: donovancorrea

Post on 29-Dec-2015

89 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Ejercicios-SubQuerys

Ejercicios SQL Avanzado:

Estos ejercicios se pueden realizar usando el cliente MySQL Query Browser o cliente mysql.

Parte 1:

1) Invoque alguna de las herramientas SQL el cliente MySQL Query Browser o cliente mysql.2) Cree una base de datos nueva.

Se necesita crear una estructura de tabla para almacenar datos. Ejecute las siguientes sentencias SQL para crear las tablas (En al archivo BD – Subquerys se encuentras todas las sentencias de creación de los objetos de base de datos).

Parte 2:

1) ¿Se ejecutara exitosamente la siguiente sentencia SQL?

SELECT * FROM actor;

Nota: la sentencia SQL anterior contiene muchos espacios en blanco entre las palabras.

2) Listar el país del estudio ‘MGM’.

Select pais, nombre from estudioWhere nombre like ‘%mgm%’;

3) Listar los nombres y apellidos de los actores que participaron en películas realizadas en 1982, o en alguna película que contenga la palabra “FATAL” en el título.

select * from actor where id_actor IN(select id_actor from elenco where id_pelicula IN(select id_pelicula from pelicula where titulo like '%FATAL%' or anno ='1982'));

select a.* from actor INNER JOIN elenco e ON a.id_actor=e.id_actorINNER JOIN pelicula p ON e.id_pelicula=p.od_peliculawhere titulo like '%FATAL%' or anno ='1982';

4) ¿Quién fue el protagonista masculino de “GUERRA DE LOS MUNDOS”?Select pelicula.titulo, elenco.id_pelicula, elenco.id_actor, actor.nombreFROM elenco INNER JOIN actor ON elenco.id_actor=actor.id_actorINNER JOIN pelicula ON pelicula.id_pelicula=elenco.id_peliculawhere titulo= "guerra de los mundos"and papel= "Protagonista" ;

Page 2: Ejercicios-SubQuerys

5) Liste el nombre y el apellido de los actores y el tiempo de duración de las películas que tienen un tiempo de duración mayor que la película “REGRESO AL FUTURO”.Select a.nombre, p.duracion FROM actor aINNER JOIN elenco e ON a.id_actor=e.id_actorINNER JOIN pelicula p ON p.id_pelicula=e.id_pelicula WHERE p.duracion>(select duracion from pelicula where titulo like 'Regreso al Futuro')

6) Muestre el título y duración de todas las películas producidas por los estudios “20TH CENTURY FOX”, ordenando ascendentemente la salida por duración.

SELECT titulo, duracionFROM pelicula, estudioWHERE pelicula.id_estudio = estudio.id_estudio AND estudio.nombreLIKE '%century%';

7) Liste los nombres y apellidos de los actores (MASCULINOS) que han sido protagonistas y su país de procedencia es “USA”.

Select nombreFrom actor, elencoWHERE sexo = 'M' AND pais = 'USA' AND actor.id_actor = elenco.Id_actor AND elenco.papel = 'protagonista';

8) Liste los nombres y apellidos de los actores que aparecen en las películas producidas por la “UNIVERSAL STUDIOS”. (si un actor aparece varias veces mostrarlo sólo una vez).

SELECT distinct actor.nombreFROM actor, elenco, pelicula, estudioWHERE actor.id_actor = elenco.id_actor AND elenco.id_pelicula = pelicula.id_pelicula and pelicula.id_estudio = estudio.id_estudioAND estudio.nombre LIKE '%universal%';

9) Escriba una consulta para mostrar la suma de la duración de todas las películas de cada estudio, muestre id_estudio, nombre estudio y totalduración.

SELECT a.nombre, b.id_estudio, COUNT( b.id_estudio ) AS 'Peliculas por estudio', SUM( b.duracion ) FROM estudio a, pelicula bWHERE a.id_estudio = b.id_estudioGROUP BY b.id_estudio;

10) Escriba una consulta para mostrar la cantidad de películas realizadas por cada estudio, muestre id_estudio, nombre estudio y cantidad de películas.select id_estudio, count(id_pelicula) from pelicula group by id_estudio;

Page 3: Ejercicios-SubQuerys

11) Escriba una consulta para mostrar el nombre, apellido, país y comisión de los actores que trabajaron en las películas de los años 1930 hasta 2000.ordene la consulta en orden ascendente según la comisión.

Select nombre, pais,comisionFrom actor,peliculaWhere anno between 1930 and 2000 and Order by comision asc;

12) Escriba una consulta para mostrar por cada estudio la película que obtuvo mas ganancias entre los años 1970 al 2000, muestre el id_estudio, título de la película, año de la película, duración y la ganancia.

13) Muestre el nombre, apellido, país y sexo de cada actor que tiene una comisión.

14) Muestre el nombre, apellido, país y la comisión para todos los actores. Ordene los datos de forma descendente según la comisión.

15) Muestre el nombre y apellido de todos los actores en donde la tercera letra de su nombre sea ‘C’.

16) Muestre el título de todas las películas que obtuvieron una ganancia superior al 50% del costo de producción.

17) Muestre el nombre y apellido de todos los actores que nacieron entre 1920 y 1980 (ambos inclusive).

18) Listar los nombres y apellidos de los actores que tienen una comisión superior al promedio de las comisiones de todos los actores.

19) Listar los nombres y apellidos de los actores que contienen la letra ‘Z’ como parte del nombre o apellido.

20) Listar el nombre y apellido del actor que obtuvo el mayor salario en la película “GUERRA DE LOS MUNDOS”.SELECT a.nombre, e.salario, max( e.salario ) FROM actor aINNER JOIN elenco e ON a.id_actor = e.id_actorINNER JOIN pelicula p ON p.id_pelicula = e.id_peliculaWHERE titulo = "guerra de los Mundos"

21) Use la sentencia LEFT OUTER JOIN para mostrar los datos de las tablas estudio-película.

22) Muestre sólo los 3 primeros registros de la tabla actor ordenados ascendentemente por país.

Page 4: Ejercicios-SubQuerys

23) Muestre sólo los 5 primeros registros de la tabla película ordenados descendentemente por ganancia.

24) Eliminar los datos de las tablas actor, estudio, película y elenco.

25) Eliminar las tablas actor, estudio y película.