Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.56 KB | None | 0 0
  1. CREATE OR REPLACE PROCEDURE CW_01
  2. BEGIN
  3. /* Ptaszek Hubert Pyk Przemysław 212A zespół ID56*/
  4. /* 2.2 c Podać do jakie grupy należy każdy student, dane posortować według nazwy grupy. (NR_ALBUMU, NAZWISKO, NR_GR,NAZWA)
  5.  
  6. SELECT S.NR_ALBUMU, S.NAZWISKO, S.NR_GR, G.NAZWA FROM STUDENT S
  7. JOIN GRUPA G ON S.NR_GR = G.NR_GR
  8. ORDER BY G.NAZWA;
  9.  
  10. NR_ALBUMU NAZWISKO NR_GR NAZWA
  11. 1 Angielska 1 Grupa 01
  12. 2 Borek 1 Grupa 01
  13. 3 Cukierek 1 Grupa 01
  14. 4 Drozd 1 Grupa 01
  15. 5 Eklerek 1 Grupa 01
  16. 6 Fokus 1 Grupa 01
  17. 7 Gubala 1 Grupa 01
  18. 8 Halski 1 Grupa 01
  19. 9 Inka 1 Grupa 01
  20. 10 Jawor 1 Grupa 01
  21. 11 Amur 2 Grupa 02
  22. 12 Burak 2 Grupa 02
  23. 13 Czosnek 2 Grupa 02
  24. 14 Alaska 3 Grupa 03
  25. 15 Boston 3 Grupa 03
  26. */
  27.  
  28. /* 2.2 f Podać na jakie zajęcia chodzą poszczególne grupy (dane posortować według nazwy grupy, nazwy przedmiotu). (NR_GR,NAZWA, ID_PRZED,NAZWA)
  29.  
  30. SELECT GZ.NR_GR, G.NAZWA, GZ.ID_PRZED, P.NAZWA FROM GR_ZAJ GZ
  31. JOIN GRUPA G
  32. ON G.NR_GR = GZ.NR_GR
  33. JOIN PRZEDMIOT P
  34. ON P.ID_PRZED = GZ.ID_PRZED
  35. ORDER BY G.NAZWA, P.NAZWA;
  36.  
  37. NR_GR NAZWA ID_PRZED NAZWA
  38. 1 Grupa 01 8 BIOL-L
  39. 1 Grupa 01 1 FIZYKA
  40. 1 Grupa 01 1 FIZYKA
  41. 1 Grupa 01 3 FIZYKA-C
  42. 1 Grupa 01 2 FIZYKA-L
  43. 2 Grupa 02 8 BIOL-L
  44. 2 Grupa 02 7 BIOLOGIA
  45. 2 Grupa 02 6 FIZYKA
  46. 2 Grupa 02 4 POLSKI
  47. 2 Grupa 02 5 POLSKI
  48. 3 Grupa 03 9 CHEMIA
  49. 3 Grupa 03 2 FIZYKA-L
  50. 3 Grupa 03 5 POLSKI
  51.  
  52. */
  53.  
  54. /* 2.2 i Podać jakich przedmiotów nikt nie prowadzi. (ID_PRZED, NAZWA)
  55.  
  56. SELECT P.ID_PRZED, P.NAZWA FROM PRZEDMIOT P
  57. WHERE NOT EXISTS (
  58. SELECT PZ.ID_PRZED FROM PRO_ZAJ PZ
  59. WHERE P.ID_PRZED = PZ.ID_PRZED
  60. );
  61.  
  62. ID_PRZED NAZWA
  63. 10 INFORMATYKA
  64. */
  65.  
  66. /* 2.2 l Podać jaki nauczyciel nie uczy żadnego przedmiotu. (NR_WYKL, NAZWISKO)
  67.  
  68. SELECT W.NR_WYKL, W.NAZWISKO FROM WYKLADOWCA W
  69. WHERE NOT EXISTS (
  70. SELECT PZ.NR_WYKL FROM PRO_ZAJ PZ
  71. WHERE W.NR_WYKL = PZ.NR_WYKL
  72. );
  73.  
  74. NR_WYKL NAZWISKO
  75. 6 Fwyk
  76.  
  77. */
  78.  
  79. /* 2.2 o Podać listę studentów którzy mają zajęcia w sali 405.(NR_ALBUMU, NAZWISKO, IMIE)
  80.  
  81. SELECT DISTINCT S.NR_ALBUMU, S.NAZWISKO, S.IMIE
  82. FROM STUDENT S
  83. JOIN GRUPA G
  84. ON G.NR_GR = S.NR_GR
  85. JOIN GR_ZAJ GZ
  86. ON GZ.NR_GR = G.NR_GR
  87. WHERE SALA = '405';
  88.  
  89.  
  90. SELECT DISTINCT S.NR_ALBUMU, S.NAZWISKO, S.IMIE FROM STUDENT S
  91. WHERE EXISTS (
  92. SELECT GZ.NR_GR FROM GR_ZAJ GZ
  93. WHERE S.NR_GR = GZ.NR_GR AND GZ.SALA LIKE '405'
  94. );
  95.  
  96. NR_ALBUMU NAZWISKO IMIE
  97. 1 Angielska Arek
  98. 2 Borek Bartek
  99. 3 Cukierek Czesiek
  100. 4 Drozd Darek
  101. 5 Eklerek Edek
  102. 6 Fokus Fabian
  103. 7 Gubala Gabi
  104. 8 Halski Hanna
  105. 9 Inka Iza
  106. 10 Jawor Jarek
  107. 11 Amur Anna
  108. 12 Burak Bella
  109. 13 Czosnek Czarek
  110. 14 Alaska Alicja
  111. 15 Boston Bill
  112.  
  113. */
  114.  
  115. /* 2.2 r Podać na jakie zajęcia chodzą studenci o imieniu Astor. (ID_PRZED, NAZWA)
  116.  
  117. SELECT P.ID_PRZED, P.NAZWA
  118. FROM PRZEDMIOT P
  119. JOIN GR_ZAJ GZ
  120. ON GZ.ID_PRZED = P.ID_PRZED
  121. JOIN GRUPA G
  122. ON G.NR_GR = GZ.NR_GR
  123. JOIN STUDENT S
  124. ON S.NR_GR = G.NR_GR
  125. WHERE S.IMIE = 'Astor';
  126.  
  127. SELECT P.ID_PRZED, P.NAZWA FROM PRZEDMIOT P
  128. WHERE EXISTS (
  129. SELECT GZ.NR_GR FROM GR_ZAJ GZ
  130. JOIN STUDENT S ON GZ.NR_GR = S.NR_GR
  131. WHERE P.ID_PRZED = GZ.ID_PRZED AND S.IMIE LIKE 'Astor'
  132. );
  133.  
  134. Brak wyników!
  135.  
  136. */
  137.  
  138. /* 2.3 b Podać nazwy grup dla których grupa.liczba_st <> zliczona ilość wierszy. (NR_GR,NAZWA,.LICZBA_ST, ZLICZONA ILOŚĆ WIERSZY)
  139.  
  140. SELECT G.NR_GR, G.NAZWA, G.LICZBA_ST, Count(S.NR_GR) AS "ZLICZONA ILOSC WIERSZY" FROM GRUPA G
  141. JOIN STUDENT S ON G.NR_GR = S.NR_GR
  142. GROUP BY G.NR_GR, G.NAZWA, G.LICZBA_ST
  143. HAVING Count(S.NR_GR) <> G.LICZBA_ST;
  144.  
  145. SELECT G.NR_GR, G.NAZWA, G.LICZBA_ST, Count(S.NR_GR) AS "ZLICZONA ILOSC WIERSZY" FROM GRUPA G, STUDENT S
  146. WHERE G.NR_GR = S.NR_GR
  147. GROUP BY G.NR_GR, G.NAZWA, G.LICZBA_ST
  148. HAVING Count(S.NR_GR) <> G.LICZBA_ST;
  149.  
  150. SELECT G.NR_GR, G.NAZWA, G.LICZBA_ST, "ZLICZONA ILOSC WIERSZY" FROM GRUPA G
  151. INNER JOIN (
  152. SELECT S.NR_GR, Count(S.NR_GR) AS "ZLICZONA ILOSC WIERSZY" FROM STUDENT S
  153. GROUP BY S.NR_GR
  154. ) R ON G.NR_GR = R.NR_GR AND G.LICZBA_ST <> "ZLICZONA ILOSC WIERSZY";
  155.  
  156. NR_GR NAZWA LICZBA_ST ZLICZONA ILOSC WIERSZY
  157. 3 Grupa 03 8 2
  158. */
  159.  
  160. /* 2.3 e Podać ilu studentów uczęszcza na każdy przedmiot. (ID_PRZED, NAZWA, LICZBA STUDENTÓW)
  161.  
  162. SELECT R.ID_PRZED, R.NAZWA, "LICZBA STUDENTOW" FROM (
  163. SELECT P.ID_PRZED, P.NAZWA, Count(S.NR_ALBUMU) AS "LICZBA STUDENTOW" FROM STUDENT S, PRZEDMIOT P, GR_ZAJ GZ
  164. WHERE GZ.ID_PRZED (+)= P.ID_PRZED AND S.NR_GR (+)= GZ.NR_GR
  165. GROUP BY P.ID_PRZED, P.NAZWA
  166. )R;
  167.  
  168. ID_PRZED NAZWA LICZBA STUDENTOW
  169. 1 FIZYKA 20
  170. 2 FIZYKA-L 12
  171. 3 FIZYKA-C 10
  172. 4 POLSKI 3
  173. 5 POLSKI 5
  174. 6 FIZYKA 3
  175. 7 BIOLOGIA 3
  176. 8 BIOL-L 13
  177. 9 CHEMIA 2
  178. 10 INFORMATYKA 0
  179. */
  180.  
  181. /* 2.3 h Podać średnią ocenę każdego studenta z każdego przedmiotu.(NR_ALBUMU, NAZWISKO, ID_PRZED, NAZWA,ŚREDNIA )
  182.  
  183. SELECT S.NR_ALBUMU, S.NAZWISKO, P.ID_PRZED, P.NAZWA, Nvl(Round(Avg(Z.OCENA), 2), 0) AS "SREDNIA" FROM STUDENT S, PRZEDMIOT P, ZALICZENIE Z
  184. WHERE Z.NR_ALBUMU (+)= S.NR_ALBUMU AND P.ID_PRZED (+)= Z.ID_PRZED
  185. GROUP BY S.NR_ALBUMU, S.NAZWISKO, P.ID_PRZED, P.NAZWA;
  186.  
  187. NR_ALBUMU NAZWISKO ID_PRZED NAZWA SREDNIA
  188. 1 Angielska 1 FIZYKA 2,33
  189. 1 Angielska 2 FIZYKA-L 2,33
  190. 1 Angielska 4 POLSKI 2
  191. 1 Angielska 5 POLSKI 3
  192. 1 Angielska 6 FIZYKA 2
  193. 1 Angielska 7 BIOLOGIA 2
  194. 1 Angielska 8 BIOL-L 3
  195. 2 Borek 1 FIZYKA 2,33
  196. 2 Borek 2 FIZYKA-L 2,33
  197. 2 Borek 4 POLSKI 2
  198. 2 Borek 5 POLSKI 3
  199. 2 Borek 6 FIZYKA 2
  200. 2 Borek 7 BIOLOGIA 2
  201. 2 Borek 8 BIOL-L 3
  202. 3 Cukierek 2 FIZYKA-L 2,33
  203. 3 Cukierek 3 FIZYKA-C 2
  204. 3 Cukierek 4 POLSKI 2,5
  205. 3 Cukierek 7 BIOLOGIA 2,33
  206. 3 Cukierek 9 CHEMIA 2,33
  207. 4 Drozd 0
  208. 5 Eklerek 1 FIZYKA 5
  209. 5 Eklerek 2 FIZYKA-L 5
  210. 5 Eklerek 3 FIZYKA-C 5
  211. 5 Eklerek 4 POLSKI 5
  212. 5 Eklerek 5 POLSKI 5
  213. 5 Eklerek 6 FIZYKA 5
  214. 5 Eklerek 7 BIOLOGIA 5
  215. 5 Eklerek 8 BIOL-L 5
  216. 5 Eklerek 9 CHEMIA 5
  217. 5 Eklerek 10 INFORMATYKA 5
  218. 6 Fokus 1 FIZYKA 5
  219. 6 Fokus 2 FIZYKA-L 5
  220. 6 Fokus 3 FIZYKA-C 5
  221. 6 Fokus 4 POLSKI 4
  222. 6 Fokus 5 POLSKI 5
  223. 6 Fokus 6 FIZYKA 4
  224. 6 Fokus 7 BIOLOGIA 5
  225. 6 Fokus 8 BIOL-L 4
  226. 6 Fokus 9 CHEMIA 5
  227. 6 Fokus 10 INFORMATYKA 4
  228. 7 Gubala 1 FIZYKA 5
  229. 7 Gubala 2 FIZYKA-L 5
  230. 7 Gubala 3 FIZYKA-C 5
  231. 7 Gubala 4 POLSKI 4
  232. 7 Gubala 5 POLSKI 5
  233. 7 Gubala 6 FIZYKA 4
  234. 7 Gubala 7 BIOLOGIA 5
  235. 7 Gubala 8 BIOL-L 4
  236. 7 Gubala 9 CHEMIA 5
  237. 7 Gubala 10 INFORMATYKA 4
  238. 8 Halski 0
  239. 9 Inka 0
  240. 10 Jawor 0
  241. 11 Amur 0
  242. 12 Burak 0
  243. 13 Czosnek 0
  244. 14 Alaska 0
  245. 15 Boston 0
  246.  
  247. */
  248. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement