Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* 1 */
- CREATE VIEW ZAD1 AS
- SELECT U.NAZWISKO, U.IMIE, K.NAZWA, AVG(O.OCENA) "SREDNIA"
- FROM UCZEN U, KLASA K, OCENA O
- WHERE U.ID_UCZEN = O.ID_UCZEN AND U.ID_KLASA = K.ID_KLASA AND
- U.ID_UCZEN = (
- SELECT U.ID_UCZEN
- FROM UCZEN U, OCENA O, KLASA K
- WHERE U.ID_UCZEN = O.ID_UCZEN AND U.ID_KLASA = &id_klasy
- GROUP BY U.ID_UCZEN
- ORDER BY AVG(O.OCENA)
- FETCH FIRST ROW ONLY)
- GROUP BY U.NAZWISKO, U.IMIE, K.NAZWA;
- /* 2 (NIEUKONCZONE) */
- SELECT N.NAZWISKO, N.IMIE FROM NAUCZYCIEL N, KLASA K WHERE N.ID_NAUCZ = K.ID_NAUCZ AND
- K.ID_KLASA = (
- SELECT K.ID_KLASA
- FROM UCZEN U, KLASA K
- WHERE U.ID_KLASA = K.ID_KLASA
- ORDER BY U.DATA_UR DESC
- FETCH FIRST ROW ONLY);
- /* 3 */
- SELECT DISTINCT P.NAZWA
- FROM PRZEDMIOT P, KLASA K, NAUCZYCIEL N, UCZEN U
- WHERE U.ID_KLASA = K.ID_KLASA AND P.ID_PRZED = N.ID_PRZED AND N.ID_NAUCZ = K.ID_NAUCZ
- HAVING COUNT(U.ID_UCZEN) = (
- SELECT COUNT(*)
- FROM UCZEN U
- GROUP BY U.ID_KLASA
- ORDER BY COUNT(*) DESC
- FETCH FIRST ROW ONLY)
- GROUP BY P.NAZWA, K.ID_KLASA;
- /* 4 */
- SELECT O.ID_OCENA, O.DATA FROM OCENA O
- WHERE O.DATA >
- (SELECT O.DATA
- FROM OCENA O, UCZEN U
- WHERE O.ID_UCZEN = U.ID_UCZEN AND U.IMIE = 'JAKUB' AND U.NAZWISKO = 'LIPKA'
- ORDER BY O.DATA
- FETCH FIRST ROW ONLY)
- AND O.DATA <
- (SELECT O.DATA
- FROM OCENA O, UCZEN U
- WHERE O.ID_UCZEN = U.ID_UCZEN AND U.IMIE = 'JAKUB' AND U.NAZWISKO = 'LIPKA'
- ORDER BY O.DATA DESC
- FETCH FIRST ROW ONLY);
- /* 5 (chyba ok)*/
- UPDATE OCENA
- SET O.OCENA = O.OCENA + 0.5
- WHERE O.ID_OCENA IN
- (SELECT O.ID_OCENA
- FROM UCZEN U, OCENA O, PRZEDMIOT P
- WHERE U.ID_UCZEN = O.ID_UCZEN AND O.ID_PRZED = P.ID_PRZED AND P.NAZWA = 'MATEMATYKA' AND ADD_MONTHS(O.DATA, 1) > SYSDATE
- HAVING COUNT(*) > (SELECT COUNT(*) FROM OCENA O, PRZEDMIOT P WHERE O.ID_PRZED = P.ID_PRZED AND P.NAZWA = 'MATEMATYKA') / (SELECT COUNT(*) FROM KLASA)
- GROUP BY O.ID_OCENA);
- CREATE VIEW PERSPEKTYWA AS
- (SELECT P.NAZWA FROM PRZEDMIOT P, NAUCZYCIEL N WHERE P.ID_PRZED = N.ID_NAUCZ AND N.ID_NAUCZ IN
- (SELECT K.ID_KLASA FROM KLASA K, NAUCZYCIEL N, PRZEDMIOT P WHERE K.ID_NAUCZ = N.ID_NAUCZ AND N.ID_PRZED = P.ID_PRZED
- GROUP BY K.ID_KLASA ORDER BY COUNT(P.ID_PRZED) DESC FETCH FIRST ROW ONLY))
- SELECT N.IMIE, N.NAZWISKO FROM NAUCZYCIEL N, PRZEDMIOT P WHERE N.ID_PRZED = P.ID_PRZED AND P.ID_PRZED IN
- (SELECT P.ID_PRZED FROM PRZEDMIOT P, KLASA K, NAUCZYCIEL N WHERE P.ID_PRZED = N.ID_PRZED AND K.ID_NAUCZ = N.ID_NAUCZ AND K.ID_KLASA IN
- (SELECT K.ID_KLASA FROM KLASA K, UCZEN U WHERE U.ID_KLASA = K.ID_KLASA AND U.ID_UCZEN IN
- (SELECT U.ID_UCZEN FROM UCZEN U, KLASA K WHERE U.ID_KLASA = K.ID_KLASA AND K.ID_KLASA IN
- (SELECT K.ID_KLASA FROM KLASA K, UCZEN U WHERE U.ID_KLASA = K.ID_KLASA AND U.ID_UCZEN IN
- (SELECT ID_UCZEN FROM UCZEN WHERE DATA_UR IN (SELECT MAX(DATA_UR) FROM UCZEN))))))
- SELECT K.NAZWA FROM KLASA K, NAUCZYCIEL N WHERE N.ID_NAUCZ = K.ID_NAUCZ AND N.ID_NAUCZ IN
- (SELECT N.ID_NAUCZ FROM NAUCZYCIEL N, OCENA O WHERE N.ID_NAUCZ = O.ID_NAUCZ AND O.OCENA = 5 GROUP BY N.ID_NAUCZ HAVING(COUNT(O.ID_OCENA)) >
- (SELECT AVG(COUNT(O.ID_OCENA)) FROM OCENA O, KLASA K, NAUCZYCIEL N WHERE O.ID_NAUCZ = N.ID_NAUCZ AND K.ID_NAUCZ = N.ID_NAUCZ
- GROUP BY K.ID_KLASA))
- SELECT DISTINCT N.IMIE, N.NAZWISKO FROM NAUCZYCIEL N, KLASA K, OCENA O WHERE O.ID_NAUCZ = N.ID_NAUCZ AND N.ID_NAUCZ = K.ID_NAUCZ AND K.ID_KLASA IN
- (SELECT K.ID_KLASA FROM KLASA K, OCENA O, NAUCZYCIEL N WHERE K.ID_NAUCZ = N.ID_NAUCZ AND N.ID_NAUCZ = O.ID_NAUCZ GROUP BY K.ID_KLASA HAVING COUNT(O.ID_OCENA) =
- (SELECT MAX(COUNT(O.ID_OCENA)) FROM OCENA O, KLASA K, NAUCZYCIEL N WHERE O.ID_NAUCZ = N.ID_NAUCZ AND N.ID_NAUCZ = K.ID_NAUCZ
- GROUP BY K.ID_KLASA))
- UPDATE OCENA SET OCENA = OCENA - 0.5 WHERE ID_UCZEN IN
- (SELECT U.ID_UCZEN FROM UCZEN U, OCENA O WHERE U.ID_UCZEN = O.ID_UCZEN GROUP BY U.ID_UCZEN HAVING(COUNT(O.ID_OCENA)) =
- (SELECT MAX(COUNT(O.ID_OCENA)) FROM UCZEN U, OCENA O WHERE U.ID_UCZEN = O.ID_UCZEN GROUP BY U.ID_UCZEN))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement