Advertisement
Shayschool22

Study SQL on the Avengers!

May 23rd, 2018
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 9.55 KB | None | 0 0
  1. /* These tables were created by ShaySchool22 for learning purposes only! */
  2. /* ANSWERS AND QUESTIONS ARE LOCATED AT THE BOTTOM */
  3.  
  4. CREATE TABLE actors(id INTEGER PRIMARY KEY  autoincrement,name text);
  5.  
  6. CREATE TABLE movies(id INTEGER PRIMARY KEY autoincrement,movieName text,movieTime INTEGER,YEAR INTEGER,phase INTEGER);
  7.  
  8. CREATE TABLE actorsInMovies(id INTEGER PRIMARY KEY autoincrement,actorId INTEGER, movieID INTEGER);
  9.  
  10. --ACTORS--
  11. INSERT INTO actors (name) VALUES ("Hulk");
  12. INSERT INTO actors (name) VALUES ("Bucky");
  13. INSERT INTO actors (name) VALUES ("Hawkeye");
  14. INSERT INTO actors (name) VALUES ("Loki");
  15. INSERT INTO actors (name) VALUES ("Odin");
  16. INSERT INTO actors (name) VALUES ("Pepper");
  17. INSERT INTO actors (name) VALUES ("War Machine");
  18. INSERT INTO actors (name) VALUES ("Captain America");
  19. INSERT INTO actors (name) VALUES ("Black Widow");
  20. INSERT INTO actors (name) VALUES ("Thunderbolt");
  21. INSERT INTO actors (name) VALUES ("Red Skull");
  22. INSERT INTO actors (name) VALUES ("Iron Man");
  23. INSERT INTO actors (name) VALUES ("Thanos");
  24. INSERT INTO actors (name) VALUES ("Thor");
  25.  
  26. --MOVIES--
  27. INSERT INTO movies (movieName,movieTime,YEAR,phase) VALUES ("Civil War",147,2016,3);
  28. INSERT INTO movies (movieName,movieTime,YEAR,phase) VALUES ("Doctor Strange",115,2016,3);
  29. INSERT INTO movies (movieName,movieTime,YEAR,phase) VALUES ("Spider-Man Homecoming",133,2017,3);
  30. INSERT INTO movies (movieName,movieTime,YEAR,phase) VALUES ("Thor: Ragnarok",130,2017,3);
  31. INSERT INTO movies (movieName,movieTime,YEAR,phase) VALUES ("Black Panther",134,2018,3);
  32. INSERT INTO movies (movieName,movieTime,YEAR,phase) VALUES ("Avengers: Infinity War",149,2018,3);
  33.  
  34. INSERT INTO movies (movieName,movieTime,YEAR,phase) VALUES ("Iron Man 3",131,2013,2);
  35. INSERT INTO movies (movieName,movieTime,YEAR,phase) VALUES ("Thor: The Dark World",112,2013,2);
  36. INSERT INTO movies (movieName,movieTime,YEAR,phase) VALUES ("The Winter Soldier",136,2014,2);
  37. INSERT INTO movies (movieName,movieTime,YEAR,phase) VALUES ("Avengers: Age of Ultron",141,2015,2);
  38. INSERT INTO movies (movieName,movieTime,YEAR,phase) VALUES ("Ant-Man",117,2015,2);
  39.  
  40. --ACTORS IN MOVIES--
  41. --"Iron Man 3"--
  42. INSERT INTO actorsInMovies(actorID,movieID) VALUES (1,7);
  43. INSERT INTO actorsInMovies(actorID,movieID) VALUES (6,7);
  44. INSERT INTO actorsInMovies(actorID,movieID) VALUES (7,7);
  45. INSERT INTO actorsInMovies(actorID,movieID) VALUES (12,7);
  46.  
  47. --"Thor: The Dark World"--
  48. INSERT INTO actorsInMovies(actorID,movieID) VALUES (4,8);
  49. INSERT INTO actorsInMovies(actorID,movieID) VALUES (5,8);
  50. INSERT INTO actorsInMovies(actorID,movieID) VALUES (8,8);
  51. INSERT INTO actorsInMovies(actorID,movieID) VALUES (14,8);
  52.  
  53. --"The Winter Soldier"--
  54. INSERT INTO actorsInMovies(actorID,movieID) VALUES (2,9);
  55. INSERT INTO actorsInMovies(actorID,movieID) VALUES (8,9);
  56. INSERT INTO actorsInMovies(actorID,movieID) VALUES (9,9);
  57.  
  58. --"Avengers: Age of Ultron"--
  59. INSERT INTO actorsInMovies(actorID,movieID) VALUES (1,10);
  60. INSERT INTO actorsInMovies(actorID,movieID) VALUES (3,10);
  61. INSERT INTO actorsInMovies(actorID,movieID) VALUES (7,10);
  62. INSERT INTO actorsInMovies(actorID,movieID) VALUES (8,10);
  63. INSERT INTO actorsInMovies(actorID,movieID) VALUES (9,10);
  64. INSERT INTO actorsInMovies(actorID,movieID) VALUES (12,10);
  65. INSERT INTO actorsInMovies(actorID,movieID) VALUES (13,10);
  66. INSERT INTO actorsInMovies(actorID,movieID) VALUES (14,10);
  67.  
  68. --"Ant-Man"--
  69. INSERT INTO actorsInMovies(actorID,movieID) VALUES (2,11);
  70. INSERT INTO actorsInMovies(actorID,movieID) VALUES (8,11);
  71.  
  72. --"Civil War"--
  73. INSERT INTO actorsInMovies(actorID,movieID) VALUES (2,1);
  74. INSERT INTO actorsInMovies(actorID,movieID) VALUES (3,1);
  75. INSERT INTO actorsInMovies(actorID,movieID) VALUES (7,1);
  76. INSERT INTO actorsInMovies(actorID,movieID) VALUES (8,1);
  77. INSERT INTO actorsInMovies(actorID,movieID) VALUES (9,1);
  78. INSERT INTO actorsInMovies(actorID,movieID) VALUES (10,1);
  79. INSERT INTO actorsInMovies(actorID,movieID) VALUES (12,1);
  80.  
  81. --"Doctor Strange"--
  82. INSERT INTO actorsInMovies(actorID,movieID) VALUES (14,2);
  83.  
  84. --"Spider-Man Homecoming"--
  85. INSERT INTO actorsInMovies(actorID,movieID) VALUES (6,3);
  86. INSERT INTO actorsInMovies(actorID,movieID) VALUES (8,3);
  87. INSERT INTO actorsInMovies(actorID,movieID) VALUES (12,3);
  88.  
  89. --"Thor: Ragnarok"--
  90. INSERT INTO actorsInMovies(actorID,movieID) VALUES (1,4);
  91. INSERT INTO actorsInMovies(actorID,movieID) VALUES (4,4);
  92. INSERT INTO actorsInMovies(actorID,movieID) VALUES (5,4);
  93. INSERT INTO actorsInMovies(actorID,movieID) VALUES (14,4);
  94.  
  95. --"Black Panther"--
  96. INSERT INTO actorsInMovies(actorID,movieID) VALUES (2,5);
  97.  
  98. --"Avengers: Infinity War"--
  99. INSERT INTO actorsInMovies(actorID,movieID) VALUES (1,6);
  100. INSERT INTO actorsInMovies(actorID,movieID) VALUES (2,6);
  101. INSERT INTO actorsInMovies(actorID,movieID) VALUES (4,6);
  102. INSERT INTO actorsInMovies(actorID,movieID) VALUES (6,6);
  103. INSERT INTO actorsInMovies(actorID,movieID) VALUES (7,6);
  104. INSERT INTO actorsInMovies(actorID,movieID) VALUES (8,6);
  105. INSERT INTO actorsInMovies(actorID,movieID) VALUES (9,6);
  106. INSERT INTO actorsInMovies(actorID,movieID) VALUES (10,6);
  107. INSERT INTO actorsInMovies(actorID,movieID) VALUES (11,6);
  108. INSERT INTO actorsInMovies(actorID,movieID) VALUES (12,6);
  109. INSERT INTO actorsInMovies(actorID,movieID) VALUES (13,6);
  110. INSERT INTO actorsInMovies(actorID,movieID) VALUES (14,6);
  111.  
  112. --1) How many movies were created in 2013 and what are thier names?
  113. SELECT m.movieName FROM movies m WHERE m.YEAR=2013;
  114.  
  115. --2) What's the longest movie? And how many minutes is it?
  116. SELECT m.movieName,MAX(m.movieTime) FROM movies m;
  117.  
  118. --3) What's the longest movie in 2017? And how many minutes is it?
  119. SELECT m.movieName,MAX(m.movieTime) FROM movies m WHERE m.YEAR=2017;
  120.  
  121. --4) In what movies did "Iron Man" play? (please order by year)
  122. SELECT m.movieName FROM actorsInMovies aim JOIN movies m ON aim.movieid=m.id JOIN actors a ON aim.actorid=a.id AND a.name="Iron Man" ORDER BY m.YEAR;
  123.  
  124. --5) How many actors are there in every movie?
  125. SELECT m.movieName,COUNT(a.id) AS numOfActors FROM actorsInMovies aim JOIN movies m ON aim.movieID=m.id JOIN actors a ON aim.actorID=a.id GROUP BY m.id ORDER BY numOfActors DESC;
  126.  
  127. --6) list the (names, movies, year) of all the actors who played in a movie after the year 2015
  128. SELECT a.name,m.movieName,m.YEAR FROM actorsInMovies aim JOIN movies m ON (aim.movieID=m.id AND m.year>2015) JOIN actors a ON aim.actorID=a.id;
  129.  
  130. --7) How many actors are there in each movie for years above 2015?
  131. SELECT m.movieName, COUNT(*) AS numOfActors FROM actorsInMovies aim JOIN movies m ON (aim.movieID=m.id AND m.year>2015) JOIN actors a ON aim.actorID=a.id GROUP BY m.movieName ORDER BY COUNT(*) DESC;
  132.  
  133. --8) What are the names of the movies that were in phase 2, and how many actors played in those movies? (Please sort by the most actors to the least actors)
  134. SELECT m.movieName,COUNT(a.id) AS numOfActors FROM actorsInMovies aim JOIN movies m ON (aim.movieID=m.id AND m.phase=2) JOIN actors a ON aim.actorID=a.id GROUP BY m.movieName ORDER BY numOfActors DESC;
  135.  
  136. --9) Please list the names of all the actors and the amount of movies that they've played
  137. SELECT a.name, COUNT(m.id) AS movies FROM actorsInMovies aim JOIN actors a ON aim.actorid=a.id JOIN movies m ON aim.movieid=m.id GROUP BY a.name ORDER BY a.id;
  138.  
  139. --10) What movies have more than 6 actors in them?
  140. SELECT m.movieName, COUNT(m.id) AS actors FROM actorsInMovies aim JOIN movies m ON aim.movieid=m.id GROUP BY m.id HAVING COUNT(*)>6 ORDER BY COUNT(*) DESC;
  141.  
  142. --11) What movies have less than or equal to 6 actors in them?
  143. SELECT m.movieName, COUNT(m.id) AS actors FROM actorsInMovies aim JOIN movies m ON aim.movieid=m.id GROUP BY m.id HAVING COUNT(*)<=6 ORDER BY COUNT(*) DESC;
  144.  
  145.  
  146. /*
  147. ### ANSWERS ARE HERE ###
  148.  
  149. 1):
  150. Iron Man 3
  151. Thor: The Dark World
  152.  
  153. 2):
  154. Avengers: Infinity War  149
  155.  
  156. 3):
  157. Spider-Man Homecoming   133
  158.  
  159. 4):
  160. Iron Man 3
  161. Avengers: Age of Ultron
  162. Civil War
  163. Spider-Man Homecoming
  164. Avengers: Infinity War
  165.  
  166. 5):
  167. Avengers: Infinity War  12
  168. Avengers: Age of Ultron 8
  169. Civil War   7
  170. Thor: Ragnarok  4
  171. Iron Man 3  4
  172. Thor: The Dark World    4
  173. Spider-Man Homecoming   3
  174. The Winter Soldier  3
  175. Ant-Man 2
  176. Doctor Strange  1
  177. Black Panther   1
  178.  
  179. 6):
  180. Bucky   Civil War   2016
  181. Hawkeye Civil War   2016
  182. War Machine Civil War   2016
  183. Captain America Civil War   2016
  184. Black Widow Civil War   2016
  185. Thunderbolt Civil War   2016
  186. Iron Man    Civil War   2016
  187. Thor    Doctor Strange  2016
  188. Pepper  Spider-Man Homecoming   2017
  189. Captain America Spider-Man Homecoming   2017
  190. Iron Man    Spider-Man Homecoming   2017
  191. Hulk    Thor: Ragnarok  2017
  192. Loki    Thor: Ragnarok  2017
  193. Odin    Thor: Ragnarok  2017
  194. Thor    Thor: Ragnarok  2017
  195. Bucky   Black Panther   2018
  196. Hulk    Avengers: Infinity War  2018
  197. Bucky   Avengers: Infinity War  2018
  198. Loki    Avengers: Infinity War  2018
  199. Pepper  Avengers: Infinity War  2018
  200. War Machine Avengers: Infinity War  2018
  201. Captain America Avengers: Infinity War  2018
  202. Black Widow Avengers: Infinity War  2018
  203. Thunderbolt Avengers: Infinity War  2018
  204. Red Skull   Avengers: Infinity War  2018
  205. Iron Man    Avengers: Infinity War  2018
  206. Thanos  Avengers: Infinity War  2018
  207. Thor    Avengers: Infinity War  2018
  208.  
  209. 7):
  210. Avengers: Infinity War  12
  211. Civil War   7
  212. Thor: Ragnarok  4
  213. Spider-Man Homecoming   3
  214. Black Panther   1
  215. Doctor Strange  1
  216.  
  217. 8):
  218. Avengers: Age of Ultron 8
  219. Iron Man 3  4
  220. Thor: The Dark World    4
  221. The Winter Soldier  3
  222. Ant-Man 2
  223.  
  224. 9):
  225. Hulk    4
  226. Bucky   5
  227. Hawkeye 2
  228. Loki    3
  229. Odin    2
  230. Pepper  3
  231. War Machine 4
  232. Captain America 7
  233. Black Widow 4
  234. Thunderbolt 2
  235. Red Skull   1
  236. Iron Man    5
  237. Thanos  2
  238. Thor    5
  239.  
  240. 10):
  241. Avengers: Infinity War  12
  242. Avengers: Age of Ultron 8
  243. Civil War   7
  244.  
  245. 11):
  246. Thor: Ragnarok  4
  247. Iron Man 3  4
  248. Thor: The Dark World    4
  249. Spider-Man Homecoming   3
  250. The Winter Soldier  3
  251. Ant-Man 2
  252. Doctor Strange  1
  253. Black Panther   1
  254. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement