zap sql

1. Z których kierunków przeprowadzono więcej niż 7 zaliczeń ?
Select k.Kierunek_id, Nazwa, Count(*)
FROM Zaliczenia z, Kierunki k
where k.Kierunek_id = z.Kierunek_id
Group by k.Kierunek_id, Nazwa
having count(*) >7


2. Z którego przedmiotu najwięcej razy wystawiono negatywną ocenę z zaliczenia?

Select p.przedmiot_id, nazwa, wynik, count(*)
from przedmioty p, zaliczenia z
where p.przedmiot_id = z.przedmiot_id
and wynik like 'Neg%'
group by p.przedmiot_id, nazwa, wynik
having count (*)=(Select max(count(*))
from przedmioty p, zaliczenia z
where p.przedmiot_id = z.przedmiot_id
and wynik like 'Neg%'
group by p.przedmiot_id, nazwa, wynik)

3. Z jakich przedmiotów przeprowadził egzaminy wykładowca o kodzie 0009 ?

select distinct p.przedmiot_id, nazwa (przypisuje numer przedmiotu z nazwa)

from zaliczenia z, przedmioty p

where wykladowca_id='0009'

and z.przedmiot_id=p.przedmiot_id

4. Wyświetlić tych studentów (Nazwisko, Imie, id), którzy jeszcze nie zdawali przedmiotu o id=7.

select student_id, Nazwisko, imie

from Studenci

where Student_id not in

(select Student_id

from zaliczenia

where Przedmiot_id=7)

5. Wyświetlić informację, kto, jaki przedmiot i kiedy zdawał w okresie od 20 kwietnia 2009 do 20

maja 2009.

Select S.Student_id,Nazwisko,Imie,P.Nazwa,TO_CHAR(Z.Data_zal,'Day/Month/YYYY')

from Przedmioty P, Zaliczenia Z,Studenci S

where Z.data_zal>'09/04/20' and Z.data_zal<'09/05/20'

and S.Student_id=Z.Student_id and Z.Przedmiot_id=P.Przedmiot_id;

6. Wyświetlić informacje o tych kierunkach (id, nazwa), z których nie przeprowadzono jeszcze

żadnego zaliczenia.

select Kierunek_id, nazwa

from kierunki

where kierunek_id not in

(

select kierunek_id

from zaliczenia)

7. W którym miesiącu i którego roku przeprowadzono najwięcej zaliczeń?

select to_char(data_zal,'yyyy mm') okres, count(*) l_zaliczenia

from zaliczenia

group by to_char(data_zal,'yyyy mm')

having count(*)=

(select max(count(*))

from zaliczenia

group by to_char(data_zal,'yyyy month'))

8. W ilu zaliczeniach student o id 0500324 uzyskał pozytywny wynik ?

select S.student_id, Nazwisko, imie, count(*)

from studenci s,zaliczenia z

where s.student_id=z.student_id

and Wynik Like 'Z%'

and s.student_id='0500324'

group by s.student_id, nazwisko, imie

9. Podać jakie przedmioty zdawano kierunku numer 3 w miesiącu lipcu 2010 roku.

select distinct p.nazwa, p.przedmiot_id,k.kierunek_id, To_char(data_zal,' YYYY/ Month')

from zaliczenia z, przedmioty p,kierunki k

where z.przedmiot_id=p.przedmiot_id

and k.kierunek_id=z.kierunek_id

and to_char (data_zal,'yyyymm')='201007'

and k.kierunek_id=3

10. Podać informację, w jakie dni tygodnia student o id 0000060 zdawał poszczególne przedmioty.

select s.student_id, nazwisko,imie, p.przedmiot_id,nazwa (wyswietla nazwe)

data_zal

from zaliczenia z, studenci s, przedmioty p

where z.student_id=s.student_id

and s.student_id='0000060'

and p.przedmiot_id=z.przedmiot_id

11. Podać datę pierwszego i ostatniego zaliczenia przeprowadzonego z kierunku o numerze 1.

select k.kierunek_id, nazwa, min(data_zal) pierwszy,

max(data_zal) ostatni

from kierunki k, zaliczenia z

where k.kierunek_id=z.kierunek_id and k.kierunek_id=1

group by k.kierunek_id, nazwa

12. Podać datę pierwszego i ostatniego zaliczenia przeprowadzonego na kierunku „Gry i

multimedia”

select nazwa,k.kierunek_id, min(data_zal) pierwszy, max(data_zal) ostatni

from kierunki k, zaliczenia z

where k.kierunek_id=z.kierunek_id

and nazwa like 'G%ia'

group by nazwa, k.kierunek_id

13. Na ilu kierunkach studiuje każdy ze studentów?

select s.student_id, nazwisko, imie, count(distinct kierunek_id)

from studenci S, zaliczenia z

where s.student_id=z.student_id(+)

group by s.student_id, nazwisko, imie

14. Którzy wykładowcy przeprowadzili więcej niż 10 zaliczeń?

select w.wykladowca_id, nazwisko ||' '||Imie as wykładowca, count(data_zal) as liczba_zal

from wykladowcy w, zaliczenia z

where w.wykładowca_id=z.wykładowca_id(+)

group by w.wykładowca_id, nazwisko, imie

having count(data_zal) >10

15. Którzy wykładowcy mają nazwiska zaczynające się na literę B. Podać ich nazwisko, imię oraz

identyfikator ?

select Nazwisko, imie, wykladowca_id

from wykladowcy

where nazwisko like 'B%'

16. Który wykładowca przeprowadził najwięcej zaliczeń z poszczególnych przedmiotów?

select w.wykladowca_id, nazwisko, imie, p.przedmiot_id, nazwa,

count(*)

from wykladowcy w, zaliczenia z, przedmioty p

where w.wykladowca_id = z.wykladowca_id

and p.przedmiot_id = z.przedmiot_id

group by w.wykladowca_id, nazwisko, imie, p.przedmiot_id, nazwa

having count(*)=( select max (count(*))

from zaliczenia

where przedmiot_id = p.przedmiot_id

group by wykladowca_id)

order by 4

17. Który student zdobył najwięcej punktów ECTS w ramach poszczególnych kierunków?

18. Który wykładowca wystawił najwięcej negatywnych zaliczeń?

select wykladowca_id,wynik,count(*)

from zaliczenia z

where wynik like 'Neg%'

group by wykladowca_id,wynik

having count(*)=(select max(count(*))

from zaliczenia

where wynik like 'Neg%'

group by wykladowca_id)

19. Który student uzyskał negatywny wynik zaliczeń?

select student_id,wynik

from zaliczenia

where wynik like 'Neg%'

20. Który student jako pierwszy podszedł do zaliczenia w ramach każdego z kierunków?

21. Jakie przedmioty zdali już egzaminowani o id 0000061 i 0500323 ?

select x.przedmiot_id, nazwa, u.Student_id, nazwisko||' '|| U.Imie as student, V.wynik

from Studenci U, Zaliczenia v, przedmioty x

where u.Student_id=v.student_id

and x.Przedmiot_id=V.Przedmiot_id

and u.student_id='0000061'

or v.student_id='0500323'

22. Jakie osoby były egzaminowane przez wykładowcę o kodzie 0001 ?

elect distinct s.student_id, s.nazwisko,s.imie ,w.wykladowca_id, w.nazwisko, w.imie

from zaliczenia z, studenci s, wykladowcy w

where w.wykładowca_id='0001'

and z.Student_id=s.Student_id

and w.wykladowca_id=z.wykladowca_id

23. Jaki przedmiot był zaliczany przez więcej niż 5 studentów ?

select p.przedmiot_id, Nazwa, Count(*), Count(z.student_id), count(distinct z.student_id)

from przedmioty p, zaliczenia z

where p.przedmiot_id=z.przedmiot_id

Group by p.przedmiot_id, nazwa

having count(distinct z.student_id)>5

24. Jaka jest średnia wyników zaliczeń dla poszczególnych kierunków, za rok 2009?

select avg(NVL(p.ects, 0)) l_ects, k.kierunek_id, k.nazwa, k.s_ects

from zaliczenia z, Przedmioty p, kierunki k

where to_char(data_zal,'yyyy')='2009' and k.kierunek_id=z.kierunek_id

and z.przedmiot_id=p.przedmiot_id

and z.wynik='Zaliczony'

group by k.kierunek_id, k.nazwa, k.s_ects

25. Ilu studentów ukończyło poszczególne kierunki (zdobyło wymaganą liczbę punktów ECTS)?

select s.student_id, nazwisko, imie, sum(NVL(p.ects, 0)) l_ects, k.kierunek_id, k.nazwa, k.s_ects

from studenci S, zaliczenia z, Przedmioty p, kierunki k

where s.student_id=z.student_id and k.kierunek_id=z.kierunek_id

and z.przedmiot_id=p.przedmiot_id

and z.wynik='Zaliczony'

group by s.student_id, nazwisko, imie,k.kierunek_id, k.nazwa, k.s_ects

having sum(nvl(p.ects,0))>0.5*s_ects

26. Ile zaliczeń przeprowadzono z poszczególnych kierunków ?

select k.kierunek_id, nazwa, count(*), z.kierunek_id, count(z.kierunek_id)

from kierunki k, zaliczenia z

where k.kierunek_id=z.kierunek_id(+)

group by k.kierunek_id, nazwa, z.kierunek_id

order by 1

27. Ile zaliczeń przeprowadził wykładowca o numerze 0036 ?

select w.wykladowca_id, Nazwisko,imie, count(*)

from zaliczenia z, wykladowcy w

where w.wykladowca_id in('0006','0001')

group by w.wykladowca_id, nazwisko, imie

28. Ile zaliczeń przeprowadzili poszczególni wykładowcy, uwzględnić wszystkich wykładowców?

select w.wykladowca_id, nazwisko ||''||Imie as wykładowca, count(data_zal) as liczba_zal

from wykladowcy w, zaliczenia z

where w.wykładowca_id=z.wykładowca_id(+) <- + wyswietli wszystkich nawet jak nie przeprowadzali zaliczenia

group by w.wykładowca_id, nazwisko, imie

29. Ile punktów ECTS ma zgromadzone każdy ze studentów?

select s.student_id, nazwisko, imie, sum(p.ects) l_ects

from studenci S, zaliczenia z, Przedmioty p

where s.student_id=z.student_id(+)

and z.przedmiot_id=p.przedmiot_id(+)

and z.wynik(+)='Zaliczony'

group by s.student_id, nazwisko, imie

30. Ile osób podeszło do zaliczenia z poszczególnych przedmiotów ?

select p.przedmiot_id, nazwa, count(*), count(z.student_id)

from przedmioty p, zaliczenia z

where z.przedmiot_id=p.przedmiot_id

group by p.przedmiot_id, nazwa

-------------------------------------------

insert into

przedmioty(przedmiot_id,nazwa) (dodanie wf)

values(8,'WF')

PERSPEKTYWY

1. Stworzyć widok STUDENCI_SECURE zawierające następujące informacje z tabeli studenci:

Student_id, Nazwisko, Imie, Miasto, Ulica, nr_domu, kod_poczt.

2. Na podstawie widoku STUDENCI_SECURE wyświetlić informacje o studentach z Rzeszowa.

3. Stworzyć widok STUDENCI_ECTS prezentujący dane studenta uzupełnione o liczbę aktualnie

uzyskanych punktów ECTS w ramach poszczególnych kierunków. Uwzględnić tylko te

kierunki, na których dany student podszedł do zaliczenia.

4. Na podstawie perspektywy STUDENCI_ECTS wyświetlić informację jaki kierunek

poszczególni studenci już ukończyli.

5. Utworzyć widok WYKADOWCY_WYNIKI_ZAL informujący o liczbie zaliczeń

przeprowadzonych przez poszczególnych wykładowców z poszczególnych przedmiotów.

Należy osobno zliczyć i zaprezentować liczbę zaliczeń ogółem oraz liczbę zaliczeń z wynikiem

negatywnym.

6. Usunąć utworzone widoki.


Wyszukiwarka

Podobne podstrony:
transakcyjny SQL
06 podstawy SQL 3id 6524 ppt
Zap miesnia sercowego, CMP, omdlenia
Oracle Database 11g i SQL Programowanie or11pr
BAZY DANYCH SQL (2)
Środki stylistyczne i rodzaje rymów - powtórzenie wiadomości., Sql, Projekty, prace domowe, dodatkow
ściąga z ang, Sql, Ściągi
Zasady ortografii, Sql, Projekty, prace domowe, dodatkowe, itd. itp
wirusowe zap. mózgu, Medycyna, Choroby zakaźne
język SQL, Pomoce naukowe, studia, informatyka
jezyk SQL
ozn temp zap tw
nadpisywanie bazy danych SQL
ebook microsoft sql server black book cff45xf7ii4jb4gq3rzk3uhmzhx5z3u62hytpuy CFF45XF7II4JB4GQ3RZK3
Prawdopodobieństwo, sql

więcej podobnych podstron