Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2019
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. -- KOLOS JEST 14 STYCZNIA
  3.  
  4. Zad 1
  5. -- te tabele mamy
  6. Przedmioty(idPrzedmiotu(klucz), Nazwa, IdProw)
  7.  
  8. CREATE TABLE Przedmioty(
  9. IDprzedmiotu number(3) PRIMARY KEY,
  10. Nazwa varchar(30),
  11. IDProw number(2)
  12. );
  13.  
  14. Studenci(Index(klucz), Nazwisko, Wydział)
  15.  
  16. CREATE TABLE Studenci(
  17. Index number(6) PRIMARY KEY,
  18. Nazwisko varchar(30),
  19. Wydzial varchar(40)
  20. );
  21.  
  22. a) zrób Egzaminy(ID_przed, Index, Ocena, Data) + PK + FK(2)
  23.  
  24. CREATE TABLE Egzaminy(
  25. ID_przed REFERENCES IDPrzedmiotu(Przedmioty),
  26. Index REFERENCES Index(Studenci),
  27. Ocena NUMBER(2,1),
  28. Data DATE
  29. );
  30.  
  31. lub mozna tak:
  32.  
  33. CREATE TABLE Egzaminy(
  34. ID_przed number(3),
  35. Index number(6),
  36. Oceny NUMBER(2,1),
  37. Data DATE,
  38. CONSTRAINT PK Primary Key (ID_przed, Index, Oceny),
  39. CONSTRAINT FK1 FOREIGN KEY (ID_przed) REFERENCES Przedmioty(ID_przed),
  40. CONSTRAINT FK2 FOREIGN KEY (Index) REFERENCES Studenci(Index)
  41. );
  42.  
  43. b) dla kazdego studenta podaj nazwisko, wydzial i srednia ocen z 2012r
  44.  
  45. SELECT Nazwisko, Wydzial, (SELECT avg(ocena) FROM Egzaminy WHERE TO_CHAR(Data, 'YYYY') = '2012' AND Studenci.Index = Egzaminy.Index) AS srednia
  46. FROM Studenci;
  47.  
  48. c) Dla kazdego prowadzacego co najmniej 3 przedmioty podaj IDProw i liczbe prowadzonych przedmiotow
  49.  
  50. SELECT IDprow, count(*) FROM Przedmioty GROUP BY IDorzed HAVIONG COUNT(IDPrzed) >= 3;
  51.  
  52. d) Podaj wydzial z maxymalna liczba studentow
  53.  
  54. (SELECT deptno, count(*) ls FROM emp GROUP BY deptno) T;
  55.  
  56. SELECT deptno, ls FORM (SELECT deptno, count(*) ls FROM emp GROUP BY deptno) T
  57. WHERE ls=(SELECT MAX(ls) FROM (SELECT deptno, count(*) ls FROM emp GROUP BY deptno));
  58. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement