Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions queries/core/film_insertion/insert_films.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
INSERT INTO films
(title, genre, release_year,score)
VALUES
('The Shawshank Redemption', 'Drama', 1994, 9),
('The Godfather', 'Crime', 1972, 9),
('The Dark Knight', 'Action', 2008, 9),
('Alien', 'SciFi', 1979, 9),
('Total Recall', 'SciFi', 1990, 8),
('The Matrix', 'SciFi', 1999, 8),
('The Matrix Resurrections', 'SciFi', 2021, 5),
('The Matrix Reloaded', 'SciFi', 2003, 6),
('The Hunt for Red October', 'Thriller', 1990, 7),
('Misery', 'Thriller', 1990, 7),
('The Power Of The Dog', 'Western', 2021, 6),
('Hell or High Water', 'Western', 2016, 8),
('The Good the Bad and the Ugly', 'Western', 1966, 9),
('Unforgiven', 'Western', 1992, 7);
1 change: 1 addition & 0 deletions queries/core/film_selection/All_films.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT * from films
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT * FROM films f ORDER BY f.score DESC
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT * FROM films f WHERE f.score <= 7
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT * FROM films f WHERE f.score >= 8
1 change: 1 addition & 0 deletions queries/core/film_selection/films_released_after_1990.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT * from films f WHERE f.release_year > 1990
1 change: 1 addition & 0 deletions queries/core/film_selection/films_released_before_2000.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT * FROM films f WHERE f.release_year < 2000
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT * FROM films f WHERE f.release_year > 1990 and f.release_year < 1999
1 change: 1 addition & 0 deletions queries/core/film_selection/films_released_in_1990.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT * FROM films f WHERE f.release_year = 1990
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT * FROM films f WHERE f.title LIKE '%Matrix%';
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT * FROM films f WHERE f.genre != 'SciFi';
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT * FROM films f WHERE f.genre = 'SciFi';
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT * FROM films f WHERE f.genre IN ('SciFi', 'Western');
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT * FROM films f WHERE f.genre = 'Western' and f.release_year < 2000
13 changes: 13 additions & 0 deletions queries/core/film_table_creation/create_film_table.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
CREATE TABLE films (
id serial PRIMARY KEY,
title VARCHAR(255) NOT NULL,
genre VARCHAR(40) NOT NULL,
release_year INT NOT NULL,
score INT NOT NULL CHECK (
score >= 0
AND score <= 10
),
UNIQUE (id),
UNIQUE (title)
)

2 changes: 2 additions & 0 deletions queries/extension_1/ext1_average_film_rating.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

SELECT AVG(f.score) FROM films f
1 change: 1 addition & 0 deletions queries/extension_1/ext1_average_film_rating_per_genre.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT f.genre, AVG(f.score) FROM films f GROUP BY f.genre
1 change: 1 addition & 0 deletions queries/extension_1/ext1_total_nr_films.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SELECT COUNT(*) FROM films
21 changes: 21 additions & 0 deletions queries/extension_2/create_director_and_newFilms_table.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
CREATE TABLE directors(
directorId serial PRIMARY KEY,
name VARCHAR(50),
unique(directorId)
);

CREATE TABLE newfilms (
id serial PRIMARY KEY,
title VARCHAR(255) NOT NULL,
genre VARCHAR(40) NOT NULL,
release_year INT NOT NULL,
score INT NOT NULL CHECK (
score >= 0
AND score <= 10
),
directorID int,
CONSTRAINT fk_director FOREIGN KEY (directorID) REFERENCES directors(directorId),
UNIQUE (id),
UNIQUE (title)
);

9 changes: 9 additions & 0 deletions queries/extension_2/director_insertion.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
INSERT INTO directors
(name)
VALUES
('Bobby'),
('Bobson'),
('Bobuel'),
('Bobster'),
('Bobifer'),
('Tord');
4 changes: 4 additions & 0 deletions queries/extension_2/join_directors_newFilms.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@



SELECT f.*, d.name FROM newfilms f INNER JOIN directors d ON f.directorid = d.directorid
17 changes: 17 additions & 0 deletions queries/extension_2/newFilms_insertion.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
INSERT INTO newfilms
(title, genre, release_year,score, directorid)
VALUES
('The Shawshank Redemption', 'Drama', 1994, 9, 1),
('The Godfather', 'Crime', 1972, 9, 2),
('The Dark Knight', 'Action', 2008, 9, 3),
('Alien', 'SciFi', 1979, 9, 2),
('Total Recall', 'SciFi', 1990, 8, 4),
('The Matrix', 'SciFi', 1999, 8, 5),
('The Matrix Resurrections', 'SciFi', 2021, 5, 6),
('The Matrix Reloaded', 'SciFi', 2003, 6, 6),
('The Hunt for Red October', 'Thriller', 1990, 7, 4),
('Misery', 'Thriller', 1990, 7, 2),
('The Power Of The Dog', 'Western', 2021, 6, 1),
('Hell or High Water', 'Western', 2016, 8, 1),
('The Good the Bad and the Ugly', 'Western', 1966, 9, 3),
('Unforgiven', 'Western', 1992, 7, 3);
4 changes: 4 additions & 0 deletions queries/extension_3/select_directors_nrOfFilms.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@



SELECT d.name, COUNT(f.*) FROM directors d INNER JOIN newfilms f ON f.directorid = d.directorid GROUP BY f.directorid, d.name