Skip to content
Open
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
59 changes: 59 additions & 0 deletions lab_sql_basic_queries.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
-- Select the correct db
USE sakila;
-- 1. Display all tables
SHOW TABLES;
-- 2. Retrieve all the data from the tables actor, film and customer
SELECT * FROM actor;
SELECT * FROM film;
SELECT * FROM customer;

-- 3 Retrieve the following columns from their respective tables:
-- 3.1 Titles of all films from the film table
SELECT title FROM film;
-- 3.2 List of languages used in films, with the column aliased as language from the language table
SELECT name FROM language;
-- 3.3 List of first names of all employees from the staff table
SELECT first_name FROM staff;

-- Retrieve unique release years
SELECT DISTINCT release_year FROM film;

-- Counting records for database insights:
-- 5.1 Determine the number of stores that the company has
SELECT COUNT(*) FROM store;
-- 5.2 Determine the number of employees that the company has
SELECT COUNT(*) FROM staff;


-- 5.3 Determine how many films are available for rent and how many have been rented
-- (I use alias columns for better readability)
SELECT
(SELECT COUNT(*) FROM inventory) AS films_available_for_rent,
(SELECT COUNT(DISTINCT inventory_id) FROM rental) AS films_rented;

-- 5.4 Determine the number of distinct last names of the actors in the database.
SELECT COUNT(DISTINCT last_name) AS distinct_last_names
FROM actor;

-- 6. Retrieve the 10 longest films
SELECT title, length
FROM film
ORDER BY length DESC
LIMIT 10;

-- 7. Use filtering techniques in order to:
-- 7.1 Retrieve all actors with the first name "SCARLETT"
SELECT *
FROM actor
WHERE first_name = 'SCARLETT';

-- BONUS:
-- 7.2 Retrieve all movies that have ARMAGEDDON in their title and have a duration longer than 100 minutes
SELECT *
FROM film
WHERE title LIKE '%ARMAGEDDON%' AND length > 100;

-- 7.3 Determine the number of films that include Behind the Scenes content
SELECT COUNT(*) AS behind_the_scenes_count
FROM film
WHERE special_features LIKE '%Behind the Scenes%';