Advertisement
beetii

ex 2

Mar 10th, 2023
794
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 5.35 KB | None | 0 0
  1. SELECT * FROM MOVIE;
  2. SELECT * FROM STUDIO;
  3.  
  4. SELECT * FROM MOVIE, STUDIO
  5. WHERE studioname = name;
  6.  
  7. SELECT TITLE, YEAR, STUDIONAME, ADDRESS
  8. FROM MOVIE, STUDIO
  9. WHERE STUDIONAME = name AND INCOLOR='y';
  10.  
  11. SELECT TITLE, YEAR, STUDIONAME, ADDRESS
  12. FROM MOVIE
  13. JOIN STUDIO ON STUDIONAME = name
  14. WHERE INCOLOR = 'y';
  15.  
  16. SELECT m1.title
  17. FROM MOVIE m1, Movie m2
  18. WHERE m2.TITLE = 'Star Wars'
  19.     AND m1.LENGTH > m2.LENGTH;
  20.  
  21.  
  22.  
  23. SELECT name, title
  24. FROM MOVIESTAR
  25. JOIN STARSIN ON name = STARNAME
  26. JOIN MOVIE ON MOVIETITLE = TITLE AND MOVIEYEAR = YEAR
  27. WHERE GENDER = 'F' AND STUDIONAME = 'MGM';
  28.  
  29.  
  30. (SELECT title, YEAR
  31. FROM MOVIE
  32. WHERE INCOLOR = 'y')
  33. UNION
  34. (SELECT movietitle, MOVIEYEAR
  35. FROM STARSIN
  36. WHERE STARNAME = 'Harrison Ford');
  37.  
  38.  
  39. (SELECT name, address
  40. FROM MovieStar
  41. WHERE gender = 'F')
  42. INTERSECT
  43. (SELECT name, address
  44. FROM MovieExec
  45. WHERE networth > 10000000);
  46.  
  47.  
  48. (SELECT name, address
  49. FROM MovieStar
  50. WHERE gender = 'F')
  51. EXCEPT
  52. (SELECT name, address
  53. FROM MovieExec
  54. WHERE networth > 10000000);
  55.  
  56.  
  57. (SELECT name, address
  58. FROM MovieStar)
  59. EXCEPT
  60. (SELECT name, address
  61. FROM MovieExec)
  62. ORDER BY address;
  63.  
  64. -- Own Movies
  65. -- Напишете заявка, която извежда имената на актрисите, участвали в Terms of Endearment
  66.  
  67. SELECT DISTINCT TITLE, STARSIN.STARNAME, MOVIESTAR.GENDER
  68. FROM MOVIE
  69. JOIN STARSIN
  70. ON STARSIN.STARNAME = STARNAME
  71. JOIN MOVIESTAR
  72. ON MOVIESTAR.GENDER = GENDER
  73. WHERE TITLE = 'Terms of Endearment' AND MOVIESTAR.GENDER = 'F';
  74.  
  75. -- Напишете заявка, която извежда имената на филмовите звезди, участвали във филми на студио MGM през 1995 г.
  76.  
  77. SELECT DISTINCT TITLE, STUDIO.NAME, STARSIN.STARNAME, YEAR
  78. FROM MOVIE
  79. JOIN STUDIO
  80. ON STUDIO.NAME = STUDIONAME
  81. JOIN STARSIN
  82. ON STARSIN.STARNAME = STARNAME
  83. WHERE STUDIO.NAME = 'MGM' AND YEAR = 1995;
  84.  
  85. -- laptop/pc stuff
  86.  
  87. SELECT maker, laptop.model, price
  88. FROM laptop
  89. JOIN product
  90. ON Laptop.model = product.model
  91. WHERE screen = 15;
  92.  
  93. -- 1. Напишете заявка, която извежда производителя и честотата на процесора на лаптопите с размер на харддиска поне 9 GB.
  94.  
  95. -- 2. Напишете заявка, която извежда номер на модел и цена на всички продукти, произведени от производител с име ‘B’.
  96. -- Сортирайте резултата така, че първо да се изведат най-скъпите продукти.
  97.  
  98. SELECT product.model, price
  99. FROM product
  100. JOIN pc ON product.model = pc.model
  101. WHERE maker = 'B'
  102.  
  103. UNION
  104.  
  105. SELECT product.model, price
  106. FROM product
  107. JOIN printer ON product.model = printer.model
  108. WHERE maker = 'B'
  109.  
  110. ORDER BY price DESC;
  111.  
  112. -- 3. Напишете заявка, която извежда размерите на тези харддискове, които се предлагат в поне два компютъра.
  113.  
  114. SELECT DISTINCT p1.hd
  115. FROM pc p1
  116. JOIN pc p2 ON p1.hd = p2.hd
  117. WHERE p1.code <> p2.code;
  118.  
  119.  
  120. -- 4. Напишете заявка, която извежда всички двойки модели на компютри, които имат еднаква честота на процесора и памет.
  121. -- Двойките трябва да се показват само по веднъж, например ако вече е изведена двойката (i, j), не трябва да се извежда (j, i)
  122.  
  123. SELECT DISTINCT p1.model, p2.model
  124. FROM pc p1
  125. JOIN pc p2 ON p1.speed = p2.speed AND p1.ram = p2.ram
  126. WHERE p1.model < p2.model;
  127.  
  128.  
  129. -- 5. Напишете заявка, която извежда производителите на поне два различни компютъра с честота на процесора поне 1000 MHz.
  130.  
  131. SELECT DISTINCT p1.maker
  132. FROM pc pc1
  133. JOIN product p1 ON pc1.model = p1.model
  134. JOIN product p2 ON p1.maker = p2.maker
  135. JOIN pc pc2 ON p2.model = pc2.model
  136. WHERE pc1.speed >= 500 AND pc2.speed >= 500;
  137.  
  138. -- Ships tasks
  139.  
  140. SELECT battle
  141. FROM Outcomes
  142. WHERE RESULT = 'sunk';
  143.  
  144.  
  145. SELECT DISTINCT battle
  146. FROM Outcomes
  147. WHERE RESULT = 'sunk';
  148.  
  149. -- Own
  150.  
  151. SELECT NAME, displacement
  152. FROM SHIPS
  153. JOIN CLASSES
  154. ON displacement = DISPLACEMENT
  155. WHERE displacement > 35000;
  156.  
  157.  
  158. SELECT SHIPS.NAME, TYPE, numguns, BATTLES.NAME
  159. FROM SHIPS
  160. JOIN CLASSES
  161. ON TYPE = TYPE AND numguns = NUMGUNS
  162. JOIN BATTLES
  163. ON BATTLES.NAME = BATTLES.NAME
  164. WHERE BATTLES.NAME = 'Guadalcanal';
  165.  
  166. -- 3.3 wrong
  167.  
  168. SELECT SHIPS.NAME, TYPE, COUNTRY
  169. FROM SHIPS
  170. JOIN CLASSES
  171. ON TYPE = TYPE AND COUNTRY = COUNTRY
  172. WHERE TYPE = 'bb'
  173.  
  174. UNION
  175.  
  176. SELECT SHIPS.NAME, TYPE, COUNTRY
  177. FROM SHIPS
  178. JOIN CLASSES
  179. ON TYPE = TYPE AND COUNTRY = COUNTRY
  180. WHERE TYPE = 'bc'
  181.  
  182. -- right 3.3
  183. SELECT COUNTRY
  184. FROM CLASSES
  185. WHERE TYPE = 'bb'
  186.  
  187. INTERSECT
  188.  
  189. SELECT COUNTRY
  190. FROM CLASSES
  191. WHERE TYPE = 'bc'
  192.  
  193. -- 3.4
  194.  
  195. SELECT OUTCOMES.SHIP
  196. FROM OUTCOMES, OUTCOMES AS OUTCOMES2
  197. WHERE OUTCOMES.RESULT = 'damaged' AND OUTCOMES.SHIP = OUTCOMES2.SHIP AND OUTCOMES.BATTLE <> OUTCOMES2.BATTLE;
  198.  
  199. -- another 3.4
  200.  
  201. SELECT DISTINCT o1.ship
  202. FROM OUTCOMES O1
  203. JOIN BATTLES B1 ON O1.BATTLE = B1.NAME
  204. JOIN OUTCOMES O2 ON O1.SHIP = O2.SHIP
  205. JOIN BATTLES B2 ON O2.BATTLE = B2.NAME
  206. WHERE B1.DATE < B2.DATE AND O1.RESULT = 'damaged'
  207.  
  208.  
  209. SELECT * FROM OUTCOMES
  210. ORDER BY SHIP;
  211.  
  212.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement