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
84 changes: 84 additions & 0 deletions lab-sql-basic-queries.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
USE Sakila;

-- 1. Display all available tables in the Sakila database.

show tables;

-- 2. Retrieve all the data from the tables actor, film and customer.
-- 2.1. Retrieve all the data from the tables actor.
SELECT *
FROM actor;

-- 2.2. Retrieve all the data from the tables film.
SELECT *
FROM film;

-- 2.3. Retrieve all the data from the tables customer.
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 AS language
FROM language;

-- 3.3 List of first names of all employees from the staff table
SELECT first_name
FROM staff;

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

-- 5. Counting records for database insights:
-- 5.1 Determine the number of stores that the company has.
SELECT COUNT(*)
FROM store
WHERE store_id IS NOT NULL;

-- 5.2 Determine the number of employees that the company has.
SELECT COUNT(*)
FROM staff
WHERE staff_id IS NOT NULL;

-- 5.3 Determine how many films are available for rent and how many have been rented.
-- 5.3.1 Determine how many films are available for rent
SELECT COUNT(film_id) as amount_of_avaliable_films
FROM inventory
WHERE film_id IS NOT NULL;

-- 5.3.2 Determine how many films have been rented
SELECT COUNT(film_id) as amount_of_rented_films
FROM inventory
WHERE inventory_id IN (SELECT inventory_id from rental);

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

-- 6. Retrieve the 10 longest films.
SELECT *
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 UPPER(first_name) = "SCARLETT";

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

-- 7.3 Determine the number of films that include Behind the Scenes content
SELECT COUNT(title) as 'count of titles with Behind the Scenes content'
FROM film
WHERE special_features LIKE '%Behind the Scenes%';