Advertisement
Guest User

Untitled

a guest
Feb 17th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.06 KB | None | 0 0
  1. -- ZADANIE 2
  2.  
  3. -- instrukcja wyswietlajaca nazwy oraz wagi wszystkich przedmiotow, ktorych nazwa konczy sie na 'tyka' lub 'anie', a waga jest powyzej
  4. -- sredniej wyliczonej ze wszystkich wag, np Matematyka 10
  5.  
  6. SELECT przedmiot.nazwa
  7.   FROM przedmiot
  8.   WHERE (nazwa LIKE '%tyka' OR nazwa LIKE '%anie') AND waga > (SELECT AVG(waga) FROM przedmiot);
  9.  
  10. -- instrukcja wyswietlajaca wszystkie informacje o zaliczeniu (nazwisko, imie studenta, nazwa przedmiotu oraz oceny z trzech terminow),
  11. -- gdzie ocena z dowolnego z terimnow ma wartosc NULL, np Kowalski Jan, Matematyka, 4.0
  12.  
  13. SELECT student.nazwisko,student.imie,przedmiot.nazwa,zaliczenie.termin1,zaliczenie.termin2,zaliczenie.termin3
  14.   FROM student, przedmiot, zaliczenie
  15.   WHERE (termin1 IS NULL OR termin2 IS NULL OR termin3 IS NULL) AND student.id_student = zaliczenie.id_student AND zaliczenie.id_przedmiot = przedmiot.id_przedmiot;
  16.  
  17. -- instrukcja wyswietlajaca informacje o liczbie zaliczen, do ktorych przystapil kazdy student, pod warunkiem, ze liczba zaliczen byla wieksza niz 3
  18. -- np Jan Kowalski 10
  19.  
  20. SELECT s.imie,s.nazwisko, info.liczba
  21.   FROM student s, (SELECT student.id_student,COUNT(zaliczenie.id_zaliczenie) Liczba
  22.                     FROM student, zaliczenie
  23.                     WHERE student.id_student = zaliczenie.id_student
  24.                     GROUP BY student.id_student) info
  25.   WHERE info.liczba > 3 AND info.id_student = s.id_student;
  26.  
  27. -- instrukcja tworzaca widok zawierajacy informacje o nazwie grupy wraz z iloscia studentow w danej grupie, instrukcja powinna uwzgledniac
  28. -- takze grupy, do ktorych nie zostali jeszcze przypisani studenci, dane powinny byc uporzadkowane wedlug nazw grup malejaco
  29.  
  30. CREATE OR REPLACE VIEW grupyistudenci AS
  31.  
  32.   SELECT grupa.nazwa, liczba
  33.     FROM grupa, (SELECT grupa.id_grupa,COUNT(student.id_student) Liczba
  34.                     FROM grupa, student
  35.                     WHERE student.id_grupa (+) = grupa.id_grupa
  36.                     GROUP BY grupa.id_grupa) info
  37.     WHERE info.id_grupa = grupa.id_grupa
  38.     ORDER BY grupa.nazwa DESC;
  39.  
  40. SELECT * FROM grupyistudenci;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement