-
Notifications
You must be signed in to change notification settings - Fork 861
Expand file tree
/
Copy pathLAB_sql_basic_queries.sql
More file actions
62 lines (50 loc) · 3.18 KB
/
LAB_sql_basic_queries.sql
File metadata and controls
62 lines (50 loc) · 3.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
USE sakila;
--------------------------------------------------------------------------------------------------------------------------
-- Challenges:
--------------------------------------------------------------------------------------------------------------------------
-- 1 . Display all available tables in the Sakila database.
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 AS language FROM language;
-- 3.3 List of first names of all employees from the `staff` table
SELECT first_name FROM staff LIMIT 3; -- there are only two staff on the list
--------------------------------------------------------------------------------------------------------------------------
-- 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(store_id) FROM store;
-- 5.2 Determine the number of employees that the company has.
SELECT COUNT(staff_id) AS 'Total employee' FROM staff;
-- 5.3 Determine how many films are available for rent and how many have been rented.
SELECT SUM(return_date IS NOT NULL) AS Available_films , SUM(return_date IS NULL)
AS Not_available_films FROM rental;
-- 5.4 Determine the number of distinct last names of the actors in the database.
SELECT COUNT(DISTINCT last_name) FROM actor;
--------------------------------------------------------------------------------------------------------------------------
-- 6. Retrieve the 10 longest films.
SELECT title AS 10_longest_films 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;
-- *Hint: use `LIKE` operator. [More information here.](https://www.w3schools.com/sql/sql_like.asp)*
-- 7.3 Determine the number of films that include Behind the Scenes content
SELECT COUNT(title) FROM film
WHERE special_features LIKE '%Behind the Scenes%';