You are on page 1of 2

1.

CREATE DATABASE moviedb;


2.a)CREATE TABLE movies(
movie_id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(50),
category VARCHAR(50) CHECK (category='Action' OR category='Animation' OR
category='Drama' OR category='Super Hero' )
);
2.b)CREATE TABLE casts(
cast_id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
movie_id INT,
CONSTRAINT fk_movie_id FOREIGN KEY(movie_id) REFERENCES movies(movie_id)
);
3.ALTER TABLE casts ADD COLUMN age INT AFTER last_name;
4.ALTER TABLE movies ADD COLUMN IMDB_rating FLOAT;
4.ALTER TABLE movies ADD COLUMN Box_office_earning INT;
5.CHANGE COLUMN Box_office_earning BO_earns_m$ FLOAT;
INSERT INTO movies VALUES(1,'ASSASSINS CREED: EMBERS','Animation' ,7.6 ,240.00);
INSERT INTO movies VALUES(2,'Real Steel' ,'Action', 7.00, 299.30);
INSERT INTO movies VALUES(3 ,'La La Land', 'Drama' ,8.00 ,448.90);
INSERT INTO movies VALUES(4 ,'Aquaman','Super Hero',6.9, 1148.0);
INSERT INTO movies VALUES(5,'Game of Thrones', 'Drama', 9.2, 228.00);
INSERT INTO movies VALUES(6,'Breaking Bad','Drama', 9.4 ,80.00);
Can't insert the last row because it fails the check condition
INSERT INTO casts VALUES(1, 'Roger Craig', 'Smith' ,45,1);
INSERT INTO casts VALUES(2 ,'Hugh', 'Jackman',52,2);
INSERT INTO casts VALUES(3 ,'Amber' ,'Heard', 35,4);
INSERT INTO casts VALUES(4 ,'Ryan', 'Gosling', 40,3);
INSERT INTO casts VALUES(5 ,'Millie Bobby' ,'Brown', 17,5);
INSERT INTO casts VALUES(6 ,'Emma' ,'Stone' ,32,3);
6.SELECT first_name,last_name,age
FROM casts
WHERE age>=40;
7.SELECT title,IMDB_rating,BO_earns_m$
FROM movies
WHERE IMDB_rating>=7;
8.SELECT first_name,last_name
FROM casts
WHERE LENGTH(first_name)=4 OR LENGTH(last_name)=4;
9.SELECT COUNT(DISTINCT(movie_id)) AS MoviesThatAreUnique
FROM casts;
10.DELETE FROM casts WHERE cast_id=3;
11.UPDATE movies
SET title='Stanger Things'
WHERE movie_id=5;
12.SELECT movies.title,casts.first_name,casts.last_name
FROM movies JOIN casts
ON movies.movie_id=casts.movie_id;
13.SELECT casts.first_name,casts.last_name
FROM movies JOIN casts
ON movies.movie_id=casts.movie_id
WHERE movies.BO_earns_m$>=300;
14.SELECT movies.category,casts.first_name,casts.last_name
FROM movies JOIN casts
ON movies.movie_id=casts.movie_id
WHERE casts.age>=30;
15.SELECT movies.*,casts.*
FROM movies LEFT JOIN casts
ON movies.movie_id=casts.movie_id;
SELECT movies.*,casts.*
FROM movies RIGHT JOIN casts
ON movies.movie_id=casts.movie_id;
16.SELECT movies.title,movies.BO_earns_m$,(movies.BO_earns_m$*0.15) AS donation
FROM movies JOIN casts
ON movies.movie_id=casts.movie_id
WHERE movies.BO_earns_m$>=100;
17.SELECT title
FROM movies
WHERE BO_earns_m$ BETWEEN 300 AND 500
GROUP BY category;
18.SELECT
movies.title,movies.IMDB_rating,casts.first_name,casts.last_name,MAX(movies.IMDB_ra
ting)
FROM movies JOIN casts
ON movies.movie_id=casts.movie_id
GROUP BY movies.title
ORDER BY movies.title ASC
LIMIT 5;
19.SELECT casts.*,movies.*
FROM movies JOIN casts
ON movies.movie_id=casts.movie_id
WHERE movies.BO_earns_m$=(SELECT MAX(BO_earns_m$)
FROM movies)
LIMIT 5,1;
20.SELECT casts.first_name,casts.last_name,movies.title
FROM movies JOIN casts
ON movies.movie_id=casts.movie_id
WHERE BO_earns_m$>(SELECT AVG(BO_earns_m$)
FROM movies);

You might also like