Week 4
Week 4
Describe genres;
+---------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+----------------+
| genreID | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | NULL | |
+---------+-------------+------+-----+---------+----------------+
b).
->Create Table movies(movieID INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(30) NOT
NULL, releaseDate DATE NOT NULL, genre INT, pricePerDay INT NOT NULL, FOREIGN
KEY(genre) REFERENCES genres(genreID));
desc movies;
+-------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+----------------+
| movieID | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(30) | NO | | NULL | |
| releaseDate | date | NO | | NULL | |
| genre | int(11) | YES | MUL | NULL | |
| pricePerDay | int(11) | NO | | NULL | |
+-------------+-------------+------+-----+---------+----------------+
c).
Create Table clients(clientID INT PRIMARY KEY AUTO_INCREMENT, firstName
VARCHAR(20) NOT NULL, lastName VARCHAR(20), dob DATE, phone VARCHAR(20) NOT NULL);
desc clients;
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| clientID | int(11) | NO | PRI | NULL | auto_increment |
| firstName | varchar(20) | NO | | NULL | |
| lastName | varchar(20) | YES | | NULL | |
| dob | date | YES | | NULL | |
| phone | varchar(20) | NO | | NULL | |
+-----------+-------------+------+-----+---------+----------------+
d).
Create Table rents(rentID INT PRIMARY KEY, movie INT NOT NULL,client INT NOT
NULL, starDate DATE NOT NULL, endDate DATE NOT NULL,FOREIGN KEY(movie)
REFERENCES movies (movieID),FOREIGN KEY(client) REFERENCES clients(clientID));
desc rents;
+----------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------+------+-----+---------+-------+
| rentID | int(11) | NO | PRI | NULL | |
| movie | int(11) | NO | MUL | NULL | |
| client | int(11) | NO | MUL | NULL | |
| starDate | date | NO | | NULL | |
| endDate | date | NO | | NULL | |
+----------+---------+------+-----+---------+-------+
4)
a).
Select * from clients
-> Where(firstName Like"m%");
+----------+-----------+----------+------------+-------------+
| clientID | firstName | lastName | dob | phone |
+----------+-----------+----------+------------+-------------+
| 1 | Mark | Guiliana | 1989-09-12 | 122-555-888 |
| 3 | mark | twain | 1990-07-22 | 541-965-785 |
+----------+-----------+----------+------------+-------------+
b).
Select lastName,dob from clients
-> Where(lastName like"%a" or "%o");
+----------+------------+
| lastName | dob |
+----------+------------+
| Guiliana | 1989-09-12 |
| Ivanova | 1994-09-12 |
+----------+------------+
c).
Select * from movies
-> Where(year(releaseDate)>=1990 AND year(releaseDate)<2000);
+---------+----------------+-------------+-------+-------------+
| movieID | name | releaseDate | genre | pricePerDay |
+---------+----------------+-------------+-------+-------------+
| 2 | Star Wars | 1990-01-07 | 1 | 150 |
| 5 | Mr Bean | 1994-05-12 | 2 | 200 |
| 7 | Lion king | 1994-06-22 | 4 | 250 |
| 9 | School Of Rock | 1997-06-22 | 5 | 300 |
+---------+----------------+-------------+-------+-------------+
d).
Select * from clients
-> Where(month(dob)=09 or month(dob)=04);
+----------+-----------+----------+------------+-------------+
| clientID | firstName | lastName | dob | phone |
+----------+-----------+----------+------------+-------------+
| 1 | Mark | Guiliana | 1989-09-12 | 122-555-888 |
| 2 | Benny | Greb | 1985-04-04 | 545-862-745 |
| 4 | Anna | Ivanova | 1994-09-12 | 654-785-022 |
| 6 | Siraj | Rawal | 1991-04-18 | 854-889-886 |
+----------+-----------+----------+------------+-------------+
e).
Select * from movies
-> Where(genre=1 or genre=3);
+---------+--------------+-------------+-------+-------------+
| movieID | name | releaseDate | genre | pricePerDay |
+---------+--------------+-------------+-------+-------------+
| 1 | Logan | 2017-12-05 | 1 | 200 |
| 2 | Star Wars | 1990-01-07 | 1 | 150 |
| 3 | Conjuring | 2015-06-04 | 3 | 175 |
| 4 | Grudge | 2012-11-03 | 3 | 140 |
| 10 | Transformers | 2014-06-12 | 1 | 275 |
+---------+--------------+-------------+-------+-------------+
f).