Advertisement
ksygrek

bazy

Apr 23rd, 2018
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 1
  2. select k.nazwa, k.kierunek_id, count (*)
  3. from kierunki k, zaliczenia z
  4. where k.kierunek_id = z.kierunek_id
  5. group by k.kierunek_id, k.nazwa
  6. having count (*) > 7
  7. order by k.kierunek_id
  8.  
  9. 2
  10. WITH x AS(
  11. SELECT przedmiot_id, wynik, count (1) LNW
  12. FROM Zaliczenia
  13. WHERE wynik='Negatywny'
  14. GROUP BY przedmiot_id, wynik)
  15.  
  16. SELECT x.*, p.nazwa from x, Przedmioty p
  17. WHERE LNW = (SELECT MAX(LNW) FROM x)
  18. AND x.przedmiot_id = p.przedmiot_id
  19.  
  20. 3
  21. select w.nazwisko, p.przedmiot_id, p.nazwa
  22. from przedmioty p, wykladowcy w, zaliczenia z
  23. where p.przedmiot_id = z.przedmiot_id
  24. and w.wykladowca_id = z.wykladowca_id
  25. and w.wykladowca_id = '0009'
  26. group by  w.nazwisko, p.przedmiot_id, p.nazwa
  27.  
  28. 4
  29. select s.nazwisko, s.imie, s.student_id
  30. from studenci s
  31. where student_id not in (
  32.     select student_id
  33.     from zaliczenia
  34.     where przedmiot_id = '7')
  35.  
  36. 5
  37. select s.student_id, s.nazwisko, s.imie, p.przedmiot_id, p.nazwa, z.data_zal
  38. from studenci s, zaliczenia z, przedmioty p
  39. where p.przedmiot_id = z.przedmiot_id
  40. and s.student_id = z.student_id
  41. and z.data_zal between '2009-04-20' and '2010-05-20'
  42.  
  43. 6
  44. select kierunek_id, nazwa
  45. from kierunki
  46. where kierunek_id not in (
  47.     select kierunek_id
  48.     from zaliczenia)
  49.  
  50. 7
  51.  
  52.  
  53. 8
  54. select count (*) liczba_zal
  55. from zaliczenia
  56. where student_id = '0500324'
  57. and wynik = 'Zaliczony'
  58.  
  59. 9
  60. select p.nazwa
  61. from przedmioty p, zaliczenia z
  62. where z.kierunek_id = '3'
  63. and z.data_zal between '2010-07-01' and '2010-07-31'
  64.  
  65. 10
  66. select  to_char(z.data_zal, 'DAY'), p.przedmiot_id, p.nazwa
  67. from zaliczenia z, przedmioty p
  68. where z.student_id = '0000060'
  69. and p.przedmiot_id = z.przedmiot_id
  70.  
  71. 11
  72. select min(data_zal) as data_pierw_zal, max(data_zal) as data_ost_zal
  73. from zaliczenia
  74. where kierunek_id = '1'
  75.  
  76. 12
  77. select min(z.data_zal) as data_pierw_zal, max(z.data_zal) as data_ost_zal
  78. from zaliczenia z, kierunki k
  79. where k.nazwa = 'Gry i multimedia'
  80. and z.kierunek_id = k.kierunek_id
  81.  
  82. 13
  83. select s.imie, s.nazwisko, count (z.kierunek_id) liczba_kier
  84. from studenci s, zaliczenia z
  85. where s.student_id = z.student_id
  86. group by s.imie, s.nazwisko
  87.  
  88. 14
  89. select w.wykladowca_id, w.imie, w.nazwisko, count(z.nr_zal) liczba_zal
  90. from wykladowcy w, zaliczenia z
  91. where w.wykladowca_id = z.wykladowca_id
  92. group by w.wykladowca_id, w.imie, w.nazwisko
  93. having count (*) > 10
  94.  
  95. 15
  96. select wykladowca_id, imie, nazwisko
  97. from wykladowcy
  98. where nazwisko like 'B%'
  99.  
  100. 16-----------------do poprawy
  101. with x as(
  102. select count(nr_zal) lz
  103. from zaliczenia
  104. group by przedmiot_id, wykladowca_id)
  105.  
  106. SELECT x.*, z.przedmiot_id, w.nazwisko
  107. from x, wykladowcy w
  108. WHERE lz = (SELECT MAX(lz) FROM x)
  109. AND x.wykladowca_id = w.wykladowca_id
  110.  
  111. 17-----------------do poprawy
  112. select s.nazwisko, count(*) zs, z.kierunek_id
  113. from studenci s, zaliczenia z, kierunki k
  114. where s.student_id = z.student_id
  115. group by s.nazwisko, z.kierunek_id
  116. order by z.kierunek_id, zs
  117.  
  118.  
  119.  
  120.  
  121. ---------------------------------------------------------------------------------------------------------------
  122. pyt2.  Z którego przedmiotu najwięcej razy wystawiono negatywną ocenę z zaliczenia?
  123. ---------------------------------------------------------------------------------------------------------------
  124. SELECT przedmiot_id, wynik, count (1) LNW
  125. FROM Zaliczenia
  126. WHERE wynik='Negatywny'
  127. GROUP BY przedmiot_id, wynik
  128. HAVING count(1) = 2
  129.  
  130.  
  131. SELECT przedmiot_id, wynik, count (1) LNW
  132. FROM Zaliczenia
  133. WHERE wynik='Negatywny'
  134. GROUP BY przedmiot_id, wynik
  135. HAVING count(1) = (
  136. SELECT MAX(LNW) from (SELECT przedmiot_id, wynik, count (1) LNW
  137. FROM Zaliczenia
  138. WHERE wynik='Negatywny'
  139. GROUP BY przedmiot_id, wynik) x
  140.           )
  141.  
  142. // // NAJLEPSZE ROZWIAZANIE: \\ \\
  143.  
  144.  
  145.  
  146. WITH x AS(
  147. SELECT przedmiot_id, wynik, count (1) LNW
  148. FROM Zaliczenia
  149. WHERE wynik='Negatywny'
  150. GROUP BY przedmiot_id, wynik)
  151.  
  152. SELECT x.*, p.nazwa
  153. from x, Przedmioty p
  154. WHERE LNW = (SELECT MAX(LNW) FROM x)
  155. AND x.przedmiot_id = p.przedmiot_id
  156.  
  157. ---------------------------------------------------------------------------------------------------------------
  158. PYT3.  Z jakich przedmiotów przeprowadził egzaminy wykładowca o kodzie 0009 ?
  159. ---------------------------------------------------------------------------------------------------------------
  160.  
  161. SELECT x.*, p.nazwa, w.nazwisko, w.imie
  162. FROM (SELECT DISTINCT wykladowca_id, przedmiot_id
  163. FROM Zaliczenia
  164. WHERE wykladowca_id ='0009') x , Przedmioty P, Wykladowcy W
  165. WHERE x.przedmiot_id = p.przedmiot_id
  166. AND x.wykladowca_id = w.wykladowca_id
  167.  
  168. ---------------------------------------------------------------------------------------------------------------
  169. PYT4. Wyświetlić tych studentów (Nazwisko, Imie, id), którzy jeszcze nie zdawali przedmiotu o id=7.
  170. ---------------------------------------------------------------------------------------------------------------
  171.  
  172. SELECT * from Studenci WHERE student_id NOT IN
  173. (SELECT DISTINCT student_id
  174. FROM Zaliczenia
  175. WHERE przedmiot_id = '7')
  176.  
  177. // // ALBO: \\ \\
  178.  
  179. SELECT s.student_id, nazwisko, imie, koszyk.student_id from Studenci S LEFT JOIN
  180. (SELECT DISTINCT student_id
  181. FROM Zaliczenia
  182. WHERE przedmiot_id = '7') koszyk
  183. ON koszyk.student_id = s.student_id
  184. WHERE koszyk.student_id IS NULL
  185.  
  186. ---------------------------------------------------------------------------------------------------------------
  187. PYT4. Wyświetlić informację, kto, jaki przedmiot i kiedy zdawał w okresie od 20 kwietnia 2009 do 20
  188. maja 2009.
  189. ---------------------------------------------------------------------------------------------------------------
  190.  
  191. SELECT s.student_id, nazwisko, imie, p.przedmiot_id, nazwa, data_zal,
  192. TO_CHAR(Data_zal, 'DD Month YYYY'),
  193. TO_CHAR(Data_zal, 'DD-Month-YYYY')
  194. FROM studenci S, przedmioty P, zaliczenia Z
  195. WHERE s.student_id = z.student_id
  196. AND p.przedmiot_id = z.przedmiot_id
  197. AND TO_CHAR(data_zal, 'YYYY-MM-DD')
  198. BETWEEN '2009-04-20' AND '2009-05-20';
  199.  
  200. ---------------------------------------------------------------------------------------------------------------
  201. PYT5. W którym miesiącu i którego roku przeprowadzono najwięcej zaliczeń?
  202. ---------------------------------------------------------------------------------------------------------------
  203.  
  204. WITH x AS (SELECT TO_CHAR (Data_zal, 'YYYY-MM') Okres, COUNT(1) LZ
  205. FROM Zaliczenia
  206. GROUP BY TO_CHAR(Data_zal, 'YYYY-MM')
  207. ORDER BY 2 DESC)
  208. SELECT * FROM X WHERE LZ = (SELECT MAX(LZ) FROM X)
  209.  
  210. ---------------------------------------------------------------------------------------------------------------
  211. PYT6. Podać datę pierwszego i ostatniego zaliczenia przeprowadzonego z kierunku o numerze 1.
  212. ---------------------------------------------------------------------------------------------------------------
  213.  
  214. SELECT z.kierunek_id, nazwa, MIN(Data_zal), MAX(Data_zal)
  215. FROM Zaliczenia z, Kierunki k
  216. WHERE z.kierunek_id = k.kierunek_id
  217. GROUP BY z.kierunek_id, nazwa
  218.  
  219. ---------------------------------------------------------------------------------------------------------------
  220. PYT7. Na ilu kierunkach studiuje kaSdy ze studentów?
  221. ---------------------------------------------------------------------------------------------------------------
  222.  
  223. SELECT s.student_id, nazwisko, count(*), count(s.student_id), count(z.student_id), count(z.kierunek_id)
  224. FROM Studenci S
  225. LEFT JOIN Zaliczenia Z
  226. ON z.student_id = s.student_id
  227. GROUP BY s.student_id , nazwisko
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234. -------------------------------------------------------------------------------------------
  235. 4. select s.student_id, s.nazwisko, to_char(z.data_zal, 'YYYY/Month/DD') date, p.nazwa
  236. from studenci s, zaliczenia z, przedmioty p
  237. where s.student_id = '0000049' and s.student_id = z.student_id
  238. and z.przedmiot_id = p.przedmiot_id
  239. -------------------------------------------------------------------------------------------
  240. 5. select distinct p.przedmiot_id, p.nazwa, w.wykladowca_id, w.nazwisko as nazwisko_wykladowcy
  241. from wykladowcy w, przedmioty p, zaliczenia z
  242. where z.wykladowca_id = '0009' and w.wykladowca_id = z.wykladowca_id
  243. and z.przedmiot_id = p.przedmiot_id
  244. -------------------------------------------------------------------------------------------
  245. 6. select  distinct s.student_id, s.imie, s.nazwisko, w.wykladowca_id
  246. from studenci s, wykladowcy w, zaliczenia z
  247. where z.wykladowca_id = '0001' and s.student_id = z.student_id
  248. and w.wykladowca_id = z.wykladowca_id
  249. -------------------------------------------------------------------------------------------
  250. 7. select s.student_id, s.imie, s.nazwisko, p.nazwa, to_char(z.data_zal,'Day') dzien
  251. from studenci s, zaliczenia z, przedmioty p
  252. where z.student_id = '0000060' and s.student_id = z.student_id
  253. and z.przedmiot_id = p.przedmiot_id
  254. -------------------------------------------------------------------------------------------
  255. 8. SELECT s.imie, s.nazwisko, s.student_id, p.przedmiot_id, nazwa, z.data_zal
  256. FROM Studenci s, Zaliczenia z, Przedmioty p
  257. WHERE z.data_zal BETWEEN '2002-04-20' AND '2009-05-20'
  258. AND s.student_id = z.student_id
  259. AND p.przedmiot_id = z.przedmiot_id
  260. -------------------------------------------------------------------------------------------
  261. 9. select s.student_id, s.imie, s.nazwisko, p.nazwa, z.wynik
  262. from studenci s, zaliczenia z, przedmioty p
  263. where z.wynik='Zaliczony' and p.przedmiot_id = z.przedmiot_id
  264. and s.student_id = z.student_id and (s.student_id = '0000061' or s.student_id = '0500323')
  265. -------------------------------------------------------------------------------------------
  266. 10. select student_id, imie, nazwisko
  267. from studenci
  268. where student_id not in (select student_id from zaliczenia where przedmiot_id = '7')
  269. -------------------------------------------------------------------------------------------
  270. 11. select kierunek_id, nazwa
  271. from kierunki
  272. where kierunek_id
  273. not in (select kierunek_id from zaliczenia)
  274. -------------------------------------------------------------------------------------------
  275. 12. select wykladowca_id, imie, nazwisko
  276. from wykladowcy
  277. where nazwisko like 'B%'
  278. -------------------------------------------------------------------------------------------
  279. 13. select p.przedmiot_id, p.nazwa, data_zal as data_zaliczenia
  280. from przedmioty p, zaliczenia z
  281. where p.przedmiot_id = z.przedmiot_id and z.kierunek_id = '3'
  282. and to_char(data_zal, 'YYYY-MM') = '2010-07'
  283. -------------------------------------------------------------------------------------------
  284. 14. select count(z.wykladowca_id), imie, nazwisko, w.wykladowca_id
  285. from zaliczenia z, wykladowcy w
  286. where w.wykladowca_id = '0004' and w.wykladowca_id = z.wykladowca_id
  287. group by w.wykladowca_id, imie, nazwisko
  288. -------------------------------------------------------------------------------------------
  289. 15. select min(data_zal) as data_pierw_zal, max(data_zal) as data_ost_zal
  290. from zaliczenia
  291. where kierunek_id = '1'
  292. -------------------------------------------------------------------------------------------
  293. 16. select s.student_id, imie, nazwisko, count(*) as ilosc_zaliczonych
  294. from studenci s, zaliczenia z
  295. where z.student_id = '0500324' and wynik='Zaliczony' and s.student_id = z.student_id
  296. group by s.student_id
  297. -------------------------------------------------------------------------------------------
  298. 17. select k.kierunek_id, k.nazwa, count(*) as liczba_zaliczen
  299. from zaliczenia z, kierunki k
  300. where k.kierunek_id = z.kierunek_id
  301. group by k.kierunek_id
  302. -------------------------------------------------------------------------------------------
  303. 18. Select p.przedmiot_id, p.nazwa, count(distinct z.student_id) as ilość_osób_zal
  304. From przedmioty p,zaliczenia z
  305. where p.przedmiot_id = z.przedmiot_id
  306. group by p.przedmiot_id
  307. -------------------------------------------------------------------------------------------
  308. 19. select w.wykladowca_id, imie, nazwisko, count(*) as liczba_zal
  309. from wykladowcy w, zaliczenia z
  310. where w.wykladowca_id = z.wykladowca_id
  311. group by w.wykladowca_id
  312. -------------------------------------------------------------------------------------------
  313. 20. select w.wykladowca_id, imie, nazwisko, count(*) as liczba_zal
  314. from wykladowcy w, zaliczenia z
  315. where z.wykladowca_id = w.wykladowca_id
  316. group by w.wykladowca_id
  317. having count(*) > 10
  318. -------------------------------------------------------------------------------------------
  319. 21.select k.kierunek_id, nazwa, count(*) as liczba_zal
  320. from kierunki k, zaliczenia z
  321. where z.kierunek_id = k.kierunek_id
  322. group by k.kierunek_id
  323. having count(*) > 7
  324. -------------------------------------------------------------------------------------------
  325. 22. select p.przedmiot_id, nazwa, count(*) as liczba_zal
  326. from przedmioty p, zaliczenia z
  327. where p.przedmiot_id = z.przedmiot_id and wynik = 'Zaliczony'
  328. group by p.przedmiot_id
  329. having count(*) > 5
  330. -------------------------------------------------------------------------------------------
  331. 23. select s.student_id, imie, nazwisko, count(distinct kierunek_id) as liczba_kier
  332. from zaliczenia z, studenci s
  333. where s.student_id = z.student_id
  334. group by s.student_id
  335. -------------------------------------------------------------------------------------------
  336. 24. select s.student_id, s.imie,s.nazwisko, sum(p.ects) as ilosc_ects
  337. from studenci s, przedmioty p,zaliczenia z
  338. where s.student_id = z.student_id and p.przedmiot_id = z.przedmiot_id and wynik = 'Zaliczony'
  339. group by s.student_id
  340. -------------------------------------------------------------------------------------------
  341. 25. select s.student_id, imie, nazwisko, k.kierunek_id, k.nazwa, sum(p.ects)
  342. from studenci s, kierunki k, zaliczenia z, przedmioty p
  343. where s.student_id = z.student_id and k.kierunek_id = z.kierunek_id
  344. and p.przedmiot_id = z.przedmiot_id
  345. group by s.student_id, k.kierunek_id
  346. having sum(p.ects) >= k.s_ects
  347. -------------------------------------------------------------------------------------------
  348. 26. select k.kierunek_id, to_char(data_zal, 'YYYY'), sum(p.ects) as srednia_ilosc_ects
  349. from zaliczenia z, kierunki k, przedmioty p
  350. where k.kierunek_id = z.kierunek_id and p.przedmiot_id = z.przedmiot_id
  351. and wynik = 'Zaliczony' and to_char(data_zal, 'YYYY') = '2011'
  352. group by k.kierunek_id, to_char(data_zal, 'YYYY')
  353. order by k.kierunek_id
  354. -------------------------------------------------------------------------------------------
  355. 27. select min(data_zal) as data_pierwszego_zal , max(data_zal) as data_ostatniego_zal
  356. from zaliczenia z, kierunki k
  357. where k.kierunek_id = z.kierunek_id and k.nazwa LIKE 'Gry i multimedia'
  358. -------------------------------------------------------------------------------------------
  359. -------------------------------------------------------------------------------------------
  360. -------------------------------------------------------------------------------------------
  361. Zad1. select w.wykladowca_id, w.imie, w.nazwisko, min(data_zal) as pierwsze_zal_wykladowcy
  362. from zaliczenia z, wykladowcy w
  363. where w.wykladowca_id = z.wykladowca_id and w.imie like 'Dariusz' and w.nazwisko like 'Bober'
  364. group by w.wykladowca_id
  365. -------------------------------------------------------------------------------------------
  366. Zad2.  select k.kierunek_id, k.nazwa
  367. from kierunki k, zaliczenia z
  368. where k.kierunek_id not in (select kierunek_id
  369.                           from zaliczenia
  370.                           where to_char(data_zal, 'YYYY') = '2010')
  371. group by k.kierunek_id
  372. -------------------------------------------------------------------------------------------
  373. Zad3.
  374. a). select w.imie from wykladowcy w, studenci s
  375. where w.imie = s.imie
  376. group by w.imie
  377. -------------------------------------------------------------------------------------------
  378. Zad4. select count(*), s.nazwisko
  379. from zaliczenia z, kierunki k, studenci s
  380. where k.kierunek_id = '2' and k.kierunek_id = z.kierunek_id
  381. and s.student_id = z.student_id and s.nazwisko = 'Biegas'
  382. group by s.nazwisko
  383. -------------------------------------------------------------------------------------------
  384. Zad5. select count(distinct wykladowca_id), p.przedmiot_id, p.nazwa
  385. from zaliczenia z, przedmioty p
  386. where p.przedmiot_id = z.przedmiot_id
  387. group by p.przedmiot_id
  388. -------------------------------------------------------------------------------------------
  389. -------------------------------------------------------------------------------------------
  390.  
  391.  
  392.  
  393.  
  394.  
  395. stare, 3 semestr
  396.  
  397.  
  398.  
  399. 25
  400. select k.kierunek_id, count(*), sum(p.ects)
  401. from kierunki k, zaliczenia z, przedmioty p
  402. where z.kierunek_id = k.kierunek_id
  403. and z.przedmiot_id = p.przedmiot_id
  404. and z.wynik = 'Zaliczony'
  405. group by k.kierunek_id
  406. having sum(p.ects) >= s_ects
  407.  
  408. 26
  409. select k.kierunek_id, count(*)
  410. from kierunki k, zaliczenia z
  411. where z.kierunek_id = k.kierunek_id
  412. and z.wynik = 'Zaliczony'
  413. AND z.data_zal BETWEEN '09-01-01' AND '09-12-31'
  414. group by k.kierunek_id
  415. order by kierunek_id
  416.  
  417. PERSPEKTYWY
  418. 1
  419. CREATE VIEW studenci_secure AS
  420. SELECT student_id, imie, nazwisko, miasto, ulica, numer, kod
  421. FROM studenci;
  422. SELECT * FROM studenci_secure
  423.  
  424. 3, 4 dom
  425. Konrad Bielecki <ksygrek@gmail.com>
  426.    
  427. Jan 8
  428.    
  429. to otspatryk, Dominik
  430. 25
  431. select k.kierunek_id, count(*), sum(p.ects)
  432. from kierunki k, zaliczenia z, przedmioty p
  433. where z.kierunek_id = k.kierunek_id
  434. and z.przedmiot_id = p.przedmiot_id
  435. and z.wynik = 'Zaliczony'
  436. group by k.kierunek_id
  437. having sum(p.ects) >= s_ects
  438.  
  439. 26
  440. select k.kierunek_id, count(*)
  441. from kierunki k, zaliczenia z
  442. where z.kierunek_id = k.kierunek_id
  443. and z.wynik = 'Zaliczony'
  444. AND z.data_zal BETWEEN '09-01-01' AND '09-12-31'
  445. group by k.kierunek_id
  446. order by kierunek_id
  447.  
  448. PERSPEKTYWY
  449. 1
  450. CREATE VIEW studenci_secure AS
  451. SELECT student_id, imie, nazwisko, miasto, ulica, numer, kod
  452. FROM studenci;
  453. SELECT * FROM studenci_secure
  454.  
  455.  
  456. perspektywy dodatkowe
  457.  
  458. CREATE VIEW zaliczone_przedmioty AS (
  459. select s.imie as imie_stud, s.nazwisko as nazw_stud, w.imie as imie_wykl, w.nazwisko as naz_wykl, p.nazwa, z.data_zal
  460. from studenci s, zaliczenia z, wykladowcy w, przedmioty p
  461. where s.student_id = z.student_id
  462. and s.student_id = z.student_id
  463. and w.wykladowca_id = z.wykladowca_id
  464. and p.przedmiot_id = z.przedmiot_id
  465. and z.wynik = 'Zaliczony');
  466.  
  467.  
  468.  
  469. create view ile_stud_na_przedmiot as(
  470. select p.przedmiot_id, p.nazwa, count(distinct z.student_id) as ile_stud
  471. from zaliczenia z, przedmioty p
  472. where z.przedmiot_id = p.przedmiot_id
  473. group by p.przedmiot_id);
  474.  
  475.  
  476.  
  477. create view ile_przedm_na_stud as(
  478. select s.student_id, s.nazwisko, s.imie, count(distinct z.przedmiot_id) as ile_przedm
  479. from zaliczenia z, studenci s
  480. where s.student_id = z.student_id
  481. group by s.student_id);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement