Consultas SQL en la base de datos FILM

Considere las siguientes tablas en Film Database:

ARTIST (Art_id, Art_Name, Art_Gender) 
PRODUCER (Prod_id, Prod_Name, Prod_Phone)
FILMS (Film_id, Film_Title, Film_Year, Film_Lang, Prod_id) 
CASTING (Art_id, Film_id, Part) 
REVIEW (Film_id, Stars) 

El contenido de datos de estas cinco tablas se muestra a continuación:

SELECT * FROM ARTIST;

art_id Nombre_arte Arte_Género
101 AMIT METRO
102 PRITAM METRO
103 SREYA F
104 SUJATA F

SELECT * FROM PRODUCER;

prod_id nombre_producto Prod_Teléfono
200 ADITYA 6735835863
201 FARAN 8654297433
202 YASH 8765421567
203 NIRAJ 7654321986

SELECT * FROM FILMS;

Film_id Título de la película Film_Año Film_Lang prod_id
11 guerra 2 2017 INGLÉS 201
12 MOMENTOS 2015 HINDI 203
13 EL MAYO 2019 INGLÉS 201
14 BHANUMATI 2014 TELEGU 200

SELECT * FROM CASTING;

art_id Film_id Parte
101 12 ACTOR
101 11 ACTOR
103 13 ACTRIZ
103 12 INVITADO
104 14 ACTRIZ

SELECT * FROM REVIEW;

Film_id Estrellas
11 4
12 2
13 5
14 4

Consulta-1:
Encuentra el nombre de todas las Películas cuyo productor es “NIRAJ”.

Primero encontraremos el ID del productor para el productor llamado «NIRAJ» y para esto usamos la tabla PRODUCER.

SELECT PROD_ID 
FROM PRODUCER 
WHERE PROD_NAME = ‘NIRAJ’

La consulta anterior devolverá el Prod_id «203». Ahora buscaremos el título de las películas cuyo pros_id sea “203”. Para hacer esto, usamos la tabla PELÍCULAS y usamos la consulta anterior como una subconsulta.

SELECT FILM_TITLE 
FROM FILMS 
WHERE PROD_ID IN (SELECT PROD_ID 
FROM PRODUCER 
WHERE PROD_NAME = ‘NIRAJ’);

Producción:

TÍTULO DE LA PELÍCULA
MOMENTOS

Consulta-2:
Mostrar todos los artistas que actuaron en una película entre 2016 y 2018.

Para encontrar esto necesitamos usar el campo NOMBRE_ARTISTA de la tabla ARTISTA así como el campo AÑO_PELÍCULA de la tabla PELÍCULAS. Para unir estas dos tablas, usamos una tercera tabla CASTING usando Art_id y Film_id. Después de unir, usamos el operador BETWEEN para verificar FILM_YEAR entre 2016 y 2018.

SELECT A.ART_NAME,  F.FILM_TITLE, F.FILM_YEAR 
FROM ARTIST A, CASTING C, FILMS F
WHERE A.ART_ID=C.ART_ID 
AND C.FILM_ID=F.FILM_ID 
AND F.FILM_YEAR  BETWEEN 2016 AND 2018;

Producción:

ART_NOMBRE TÍTULO DE LA PELÍCULA AÑO_PELÍCULA
AMIT guerra 2 2017

Consulta-3:
muestra los nombres de las películas con las estrellas recibidas y ordena el resultado según las estrellas.

Para esto necesitamos el campo FILM_TITLE de la tabla FILMS así como el campo STARS de la tabla REVIEW. Para unir estas dos tablas usaremos el campo común que es FILM_ID. Y después de unirnos, mostramos el resultado en orden creciente de ESTRELLAS usando la cláusula ORDER BY.

SELECT F.FILM_TITLE, R_STARS
FROM FILMS F, REVIEW R
WHERE F.FILM_ID=R.FILM_ID
ORDER BY R.STARS DESC

Producción:

TÍTULO DE LA PELÍCULA ESTRELLAS
EL MAYO 5
BHANUMATI 4
guerra 2 4
MOMENTOS 2

Consulta-4:
Actualizar las estrellas de todas las películas cuyo productor es ‘NIRAJ’ a 5.

Primero encontramos el ID DE PRODUCTOR del PRODUCTOR llamado “NIRAJ” usando esta consulta:

SELECT PROD_ID 
FROM PRODUCER 
WHERE PROD_NAME = ‘NIRAJ’

Luego busque FILM_ID en la tabla FILMS usando este PROD_ID.

SELECT FILM_ID FROM FILMS 
WHERE PROD_ID IN (SELECT PROD_ID 
FROM PRODUCER 
WHERE PROD_NAME = ‘NIRAJ’)

Y luego, este FILM_ID ayuda a actualizar el valor de ESTRELLAS en la tabla REVISIÓN usando el comando ACTUALIZAR.

UPDATE REVIEW 
SET STARS=5 
WHERE FILM_ID IN (SELECT FILM_ID FROM FILMS 
WHERE PROD_ID IN (SELECT PROD_ID 
FROM PRODUCER 
WHERE PROD_NAME = ‘NIRAJ’));

Producción:

1 row updated.

Para observar los cambios podemos usar el comando SELECCIONAR * en la tabla REVISAR.

SELECT * FROM REVIEW;

Film_id Estrellas
11 4
12 5
13 5
14 4

Publicación traducida automáticamente

Artículo escrito por SUDIPTADANDAPAT y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *