Advertisement
keky

SQL Select examples part_02

Apr 7th, 2015
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 5.31 KB | None | 0 0
  1. -- COUNT
  2. SELECT COUNT(*) FROM radnik;
  3.  
  4. SELECT COUNT(DISTINCT sef) broj_sefova
  5. FROM radnik;
  6.  
  7. -- MIN MAX
  8. SELECT MIN(plt) minimalna_plata, MAX(plt) maximalna_plata
  9. FROM radnik;
  10.  
  11. -- SUM
  12. SELECT COUNT(*) broj_radnika, SUM(plt) ukupna_mesecna_plata
  13. FROM radnik;
  14.  
  15. -- AVG
  16. SELECT COUNT(*) broj_radnika, avg(plt) prosecna_plata,
  17. SUM(plt)*12 godisanja_plata
  18. FROM radnik;
  19.  
  20. -- ROUND
  21. SELECT round(avg(plt), 1) "Proseèna plata, 1 dec"
  22. FROM radnik;
  23.  
  24. -- GROUP BY
  25. SELECT spr, COUNT(mbr), SUM(brc)
  26. FROM radproj
  27. GROUP BY spr;
  28.  
  29. -- HAVING
  30. SELECT mbr
  31. FROM radproj
  32. GROUP BY mbr
  33. HAVING COUNT(spr)>2;
  34.  
  35. SELECT mbr, COUNT(spr)
  36. FROM radproj
  37. GROUP BY mbr
  38. HAVING COUNT(spr)>2;
  39.  
  40. -- ZADATAK 1
  41. SELECT ime, SUM(plt), COUNT(mbr)
  42. FROM radnik
  43. WHERE god < '1-1-1975'
  44. GROUP BY ime
  45. HAVING SUM(plt)>25000;
  46.  
  47. -- UGNJEZDENI UPITI
  48. SELECT mbr, ime, prz, plt
  49. FROM radnik
  50. WHERE(plt > (SELECT avg(plt) FROM radnik))
  51. ORDER BY plt ASC;
  52.  
  53. SELECT ime, prz
  54. FROM radnik
  55. WHERE mbr IN(SELECT spr FROM radproj WHERE spr=30);
  56.  
  57. SELECT mbr, ime, prz
  58. FROM radnik
  59. WHERE mbr IN(SELECT spr FROM radproj WHERE spr=10) AND
  60. mbr NOT IN(SELECT spr FROM radproj WHERE spr=30);
  61.  
  62. SELECT ime, prz, god
  63. FROM radnik
  64. WHERE god<=ALL(SELECT god FROM radnik);
  65.  
  66. SELECT ime, prz, god
  67. FROM radnik
  68. WHERE god = (SELECT MIN(god) FROM radnik);
  69.  
  70. -- SPAJANJE TABELA
  71. SELECT radnik.mbr, ime, prz, plt, brc
  72. FROM radnik, radproj
  73. WHERE spr=10 AND radnik.mbr = radproj.mbr;
  74.  
  75. SELECT DISTINCT mbr, ime, prz, plt
  76. FROM radnik, projekat
  77. WHERE mbr = ruk;
  78.  
  79. SELECT mbr, ime, prz, plt
  80. FROM radnik, projekat
  81. WHERE spr = 10 AND ruk != mbr;
  82.  
  83. SELECT mbr, ime, prz, plt
  84. FROM radnik
  85. WHERE mbr != (SELECT ruk FROM projekat WHERE spr=10);
  86.  
  87. SELECT nap
  88. FROM projekat
  89. WHERE spr IN (SELECT spr FROM radproj
  90. WHERE mbr IN (SELECT mbr FROM radproj
  91. WHERE spr = 60));
  92.  
  93. SELECT ime, prz, COUNT(spr)
  94. FROM radnik r, projekat p
  95. WHERE r.mbr = p.ruk
  96. GROUP BY r.mbr, ime, prz;
  97.  
  98. -- PITANJE ZA COUNT(*) na šta se odnosi
  99. SELECT r.mbr, r.ime, r.prz, COUNT(*), SUM(rp.brc)
  100. FROM radnik r, radproj rp
  101. WHERE r.mbr = rp.mbr
  102. GROUP BY r.mbr, r.ime, r.prz;
  103.  
  104. SELECT ime, prz, COUNT(DISTINCT rp.spr)
  105. FROM radnik r, radproj rp
  106. WHERE r.mbr = rp.mbr
  107. AND r.mbr IN (SELECT ruk FROM projekat)
  108. GROUP BY ime, prz;
  109.  
  110. -- SAME AS ABOVE
  111. SELECT prz, ime, COUNT(DISTINCT rp.spr) bp FROM
  112. radnik r, radproj rp, projekat p
  113. WHERE r.mbr=rp.mbr AND r.mbr = ruk
  114. GROUP BY prz, ime;
  115.  
  116. SELECT nap
  117. FROM projekat p, radproj rp
  118. WHERE p.spr = rp.spr
  119. GROUP BY p.spr, nap
  120. HAVING SUM(brc)>15;
  121.  
  122. SELECT p.spr, nap
  123. FROM projekat p, radproj rp
  124. WHERE p.spr = rp.spr
  125. GROUP BY p.spr, nap
  126. HAVING COUNT(rp.mbr)>2;
  127.  
  128. SELECT p.spr, p.nap
  129. FROM projekat p, radproj rp
  130. WHERE p.spr = rp.spr
  131. GROUP BY p.spr, p.nap
  132. HAVING avg(rp.brc) > (SELECT avg(brc) FROM radproj);
  133.  
  134. SELECT p.spr, p.nap
  135. FROM projekat p, radproj rp
  136. WHERE p.spr = rp.spr
  137. GROUP BY p.spr, p.nap
  138. HAVING avg(brc)>=ALL(SELECT avg(brc) FROM radproj GROUP BY spr);
  139.  
  140. -- VIŠESTRUKA UPOTREBA ISTE TABELE
  141. SELECT r1.ime, r1.prz, r1.plt, p.nap FROM
  142. radnik r1, radnik r2, projekat p, radproj rp
  143. WHERE r1.mbr=rp.mbr AND rp.spr=p.spr AND
  144. p.ruk=r2.mbr AND r1.plt+1000<r2.plt;
  145.  
  146. SELECT r.mbr, r.ime, r.prz, r.plt
  147. FROM radnik r, radnik r1
  148. WHERE r.plt > r1.plt AND r1.mbr = 40;
  149.  
  150. -- EXISTS
  151. SELECT ime, prz, god
  152. FROM radnik r
  153. WHERE NOT EXISTS
  154. (SELECT mbr FROM radnik r1
  155. WHERE r1.god<r.god);
  156.  
  157. SELECT mbr, ime, prz
  158. FROM radnik r
  159. WHERE NOT EXISTS
  160. (SELECT * FROM radproj rp
  161. WHERE r.mbr=rp.mbr AND rp.spr=10);
  162.  
  163. SELECT mbr, ime, prz
  164. FROM radnik r
  165. WHERE NOT EXISTS
  166. (SELECT * FROM radproj rp WHERE r.mbr=rp.mbr);
  167.  
  168. SELECT mbr, ime, prz
  169. FROM radnik r
  170. WHERE mbr NOT IN
  171. (SELECT rp.mbr FROM radproj rp
  172. WHERE r.mbr=rp.mbr);
  173.  
  174. SELECT mbr, ime, prz
  175. FROM radnik r
  176. WHERE NOT EXISTS
  177. (SELECT * FROM projekat WHERE mbr=ruk);
  178.  
  179. SELECT mbr, ime, prz
  180. FROM radnik r
  181. WHERE mbr NOT IN
  182. (SELECT ruk FROM projekat WHERE mbr=ruk);
  183.  
  184. SELECT DISTINCT mbr, ime, prz, god
  185. FROM radnik r, projekat p
  186. WHERE r.mbr=p.ruk AND NOT EXISTS
  187. (SELECT mbr FROM radnik r1, projekat p1
  188. WHERE r1.mbr=p1.ruk AND r1.god<r.god);
  189.  
  190. -- UNION
  191. SELECT mbr, ime, prz FROM radnik
  192. WHERE mbr IN
  193. (SELECT mbr FROM radproj WHERE spr=20)
  194. UNION
  195. SELECT mbr, ime, prz FROM radnik
  196. WHERE plt>(SELECT avg(plt) FROM radnik);
  197.  
  198. -- UNION ALL
  199. SELECT mbr, ime, prz FROM radnik
  200. WHERE mbr IN
  201. (SELECT mbr FROM radproj WHERE spr=20)
  202. UNION ALL
  203. SELECT mbr, ime, prz FROM radnik
  204. WHERE plt>(SELECT avg(plt) FROM radnik);
  205.  
  206. -- INTERSECT
  207. SELECT mbr, ime, prz FROM radnik
  208. WHERE prz LIKE 'M%' OR prz LIKE 'R%'
  209. INTERSECT
  210. SELECT mbr, ime, prz FROM radnik
  211. WHERE prz LIKE 'M%' OR prz LIKE 'P%'
  212.  
  213. -- MINUS
  214. SELECT mbr, ime, prz FROM radnik
  215. WHERE prz LIKE 'M%' OR prz LIKE 'R%'
  216. MINUS
  217. SELECT mbr, ime, prz FROM radnik
  218. WHERE prz LIKE 'M%' OR prz LIKE 'P%'
  219.  
  220. -- NATURAL
  221. SELECT ime, prz
  222. FROM radnik NATURAL JOIN radproj
  223. WHERE spr=30;
  224.  
  225. -- INNER
  226. SELECT ime, prz
  227. FROM radnik r INNER JOIN radproj rp
  228. ON r.mbr=rp.mbr
  229. WHERE spr=30;
  230.  
  231. -- LEFT OUTER
  232. SELECT r.mbr,ime, prz, spr
  233. FROM radnik r LEFT OUTER JOIN radproj rp
  234. ON r.mbr=rp.mbr;
  235.  
  236. -- RIGHT OUTER
  237. SELECT nvl(rp.mbr, 0) "Mbr radnika", nap
  238. FROM radproj rp RIGHT OUTER JOIN projekat p
  239. ON rp.spr=p.spr;
  240.  
  241. SELECT nvl(rp.mbr, 0) "Mbr radnika", nap
  242. FROM radproj rp, projekat p
  243. WHERE rp.spr(+)=p.spr;
  244.  
  245. -- FULL OUTER
  246. SELECT nvl(rp.mbr, 0) "Mbr radnika", nap
  247. FROM radproj rp FULL OUTER JOIN projekat p
  248. ON rp.spr=p.spr;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement