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
25 changes: 25 additions & 0 deletions CREATE TABLE and INSERT.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
CREATE TABLE films (
id SERIAL NOT NULL,
title VARCHAR(120) UNIQUE NOT NULL,
genre VARCHAR(40),
release_year INT,
score INT,
PRIMARY KEY (id)
);

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);
59 changes: 59 additions & 0 deletions Exercise - SELECT queries.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
SELECT *
FROM films;

SELECT *
FROM films
ORDER BY
score DESC;

SELECT *
FROM films
ORDER BY
release_year ASC;

SELECT *
FROM films
WHERE score >= 8;

SELECT *
FROM films
WHERE score <= 7;

SELECT *
FROM films
WHERE release_year = 1990;

SELECT *
FROM films
WHERE release_year < 2000;

SELECT *
FROM films
WHERE release_year > 1990;

SELECT *
FROM films
WHERE release_year > 1990
AND release_year < 2000;

SELECT *
FROM films
WHERE genre = 'SciFi';

SELECT *
FROM films
WHERE genre = 'Western'
OR genre = 'SciFi';

SELECT *
FROM films
WHERE genre != 'SciFi';

SELECT *
FROM films
WHERE genre = 'Western'
AND release_year < 2000;

SELECT *
FROM films
WHERE title LIKE '%Matrix%';
9 changes: 9 additions & 0 deletions Extension 1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
SELECT AVG(score)
FROM films;

SELECT COUNT(id)
FROM films;

SELECT genre, AVG(score)
FROM films
GROUP BY genre;
48 changes: 48 additions & 0 deletions Extension 2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
CREATE TABLE directors (
id SERIAL NOT NULL,
name VARCHAR(120),
PRIMARY KEY (id)
);

CREATE TABLE films (
id SERIAL NOT NULL,
title VARCHAR(120) UNIQUE NOT NULL,
genre VARCHAR(40),
release_year INT,
score INT,
director_id SERIAL,
PRIMARY KEY (id),
FOREIGN KEY(director_id) REFERENCES directors(id)
);

INSERT INTO directors(name)
VALUES
('Johnny John Johnson'),
('Luke Star-Man'),
('Christopher Nolan'),
('Willy Western'),
('Sergio Leone');

INSERT INTO films (title, genre, release_year, score, director_id)
VALUES
('The Shawshank Redemption', 'Drama', 1994, 9, 3),
('The Godfather', 'Crime', 1972, 9, 3),
('The Dark Knight', 'Action', 2008, 9, 3),
('Alien', 'SciFi', 1979, 9, 1),
('Total Recall', 'SciFi', 1990, 8, 2),
('The Matrix', 'SciFi', 1999, 8, 2),
('The Matrix Resurrections', 'SciFi', 2021, 5, 2),
('The Matrix Reloaded', 'SciFi', 2003, 6, 1),
('The Hunt for Red October', 'Thriller', 1990, 7, 1),
('Misery', 'Thriller', 1990, 7, 3),
('The Power Of The Dog', 'Western', 2021, 6, 5),
('Hell or High Water', 'Western', 2016, 8, 5),
('The Good the Bad and the Ugly', 'Western', 1966, 9, 4),
('Unforgiven', 'Western', 1992, 7, 5);



SELECT title, directors.name
FROM films
JOIN directors
ON films.director_id = directors.id;
6 changes: 6 additions & 0 deletions Extension 3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
SELECT directors.name, COUNT(films)
FROM films
INNER JOIN directors
ON films.director_id = directors.id
GROUP BY directors.id
ORDER BY COUNT(films) DESC;