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