From d559a663ddab69fe178a2681429c446d03de34da Mon Sep 17 00:00:00 2001 From: Yusif Xankisiyev Date: Sun, 22 Mar 2026 16:47:42 +0400 Subject: [PATCH 1/2] solved --- solutions.sql | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 solutions.sql diff --git a/solutions.sql b/solutions.sql new file mode 100644 index 0000000..28ed8ff --- /dev/null +++ b/solutions.sql @@ -0,0 +1,125 @@ +create database if not exists blog_db; +use blog_db; + +-- Exercise 1 + +CREATE TABLE IF NOT EXISTS authors ( + id INT AUTO_INCREMENT PRIMARY KEY, + name VARCHAR(100) UNIQUE NOT NULL +); + +CREATE TABLE IF NOT EXISTS posts ( + id INT AUTO_INCREMENT PRIMARY KEY, + title VARCHAR(200) NOT NULL, + word_count INT, + views INT, + author_id INT, + FOREIGN KEY (author_id) REFERENCES authors(id) +); + +INSERT INTO authors (name) VALUES +('Yusif Xankisiyev'), +('Test Name1'), +('Test Name2'); + +INSERT INTO posts (title, word_count, views, author_id) VALUES +('Best Paint Colors', 814, 14, 1), +('Small Space Decorating Tips', 1146, 221, 2), +('Hot Accessories', 986, 105, 1), +('Mixing Textures', 765, 22, 1), +('Kitchen Refresh', 1242, 307, 2), +('Homemade Art Hacks', 1002, 193, 1), +('Refinishing Wood Floors', 1571, 7542, 3); + +-- Exercise 2 + +CREATE TABLE IF NOT EXISTS customers ( + id INT AUTO_INCREMENT PRIMARY KEY, + name VARCHAR(100) NOT NULL, + status VARCHAR(20), + total_mileage INT +); + +CREATE TABLE IF NOT EXISTS aircrafts ( + id INT AUTO_INCREMENT PRIMARY KEY, + name VARCHAR(50) NOT NULL, + total_seats INT +); + +CREATE TABLE IF NOT EXISTS flights ( + flight_number VARCHAR(10) PRIMARY KEY, + mileage INT, + aircraft_id INT, + FOREIGN KEY (aircraft_id) REFERENCES aircrafts(id) +); + +CREATE TABLE IF NOT EXISTS bookings ( + id INT AUTO_INCREMENT PRIMARY KEY, + customer_id INT, + flight_number VARCHAR(10), + FOREIGN KEY (customer_id) REFERENCES customers(id), + FOREIGN KEY (flight_number) REFERENCES flights(flight_number) +); + +INSERT INTO customers (name, status, total_mileage) VALUES +('Yusif Xankisiyev', 'VIP', 115235), +('Alaina Sepulvida', 'None', 6008), +('Tom Jones', 'Gold', 205767), +('Sam Rio', 'None', 2653), +('Jessica James', 'Silver', 127656), +('Ana Janco', 'Silver', 136773), +('Jennifer Cortez', 'Gold', 300582), +('Christian Janco', 'Silver', 14642); + +INSERT INTO aircrafts (name, total_seats) VALUES +('Boeing 747', 400), +('Airbus A330', 236), +('Boeing 777', 264); + +INSERT INTO flights (flight_number, mileage, aircraft_id) VALUES +('DL143', 135, 1), +('DL122', 4370, 2), +('DL53', 2078, 3), +('DL222', 1765, 3), +('DL37', 531, 1); + +INSERT INTO bookings (customer_id, flight_number) VALUES +(1, 'DL143'), +(1, 'DL122'), +(2, 'DL122'), +(3, 'DL122'), +(3, 'DL53'), +(4, 'DL143'), +(3, 'DL222'), +(5, 'DL143'), +(6, 'DL222'), +(7, 'DL222'), +(5, 'DL122'), +(4, 'DL37'), +(8, 'DL222'); + +-- Exercise 3 + +SELECT COUNT(DISTINCT flight_number) FROM flights; +SELECT AVG(mileage) FROM flights; +SELECT AVG(total_seats) FROM aircrafts; +SELECT status, AVG(total_mileage) FROM customers GROUP BY status; +SELECT status, MAX(total_mileage) FROM customers GROUP BY status; +SELECT COUNT(*) FROM aircrafts WHERE name LIKE '%Boeing%'; +SELECT * FROM flights WHERE mileage BETWEEN 300 AND 2000; + +SELECT c.status, AVG(f.mileage) +FROM bookings b +JOIN customers c ON b.customer_id = c.id +JOIN flights f ON b.flight_number = f.flight_number +GROUP BY c.status; + +SELECT a.name, COUNT(*) AS total_bookings +FROM bookings b +JOIN customers c ON b.customer_id = c.id +JOIN flights f ON b.flight_number = f.flight_number +JOIN aircrafts a ON f.aircraft_id = a.id +WHERE c.status = 'Gold' +GROUP BY a.name +ORDER BY total_bookings DESC +LIMIT 1; \ No newline at end of file From 659e30b83bed5a01f63c45dfa2d77a306933d016 Mon Sep 17 00:00:00 2001 From: Yusif Xankisiyev Date: Sun, 22 Mar 2026 17:01:39 +0400 Subject: [PATCH 2/2] . --- solutions.sql | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/solutions.sql b/solutions.sql index 28ed8ff..a3e0c72 100644 --- a/solutions.sql +++ b/solutions.sql @@ -18,9 +18,9 @@ CREATE TABLE IF NOT EXISTS posts ( ); INSERT INTO authors (name) VALUES -('Yusif Xankisiyev'), -('Test Name1'), -('Test Name2'); +('Maria Charlotte'), +('Juan Perez'), +('Gemma Alcocer'); INSERT INTO posts (title, word_count, views, author_id) VALUES ('Best Paint Colors', 814, 14, 1), @@ -62,7 +62,7 @@ CREATE TABLE IF NOT EXISTS bookings ( ); INSERT INTO customers (name, status, total_mileage) VALUES -('Yusif Xankisiyev', 'VIP', 115235), +('Agustine Riviera', 'Silver', 115235), ('Alaina Sepulvida', 'None', 6008), ('Tom Jones', 'Gold', 205767), ('Sam Rio', 'None', 2653),