Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1
- select k.nazwa, k.kierunek_id, count (*)
- from kierunki k, zaliczenia z
- where k.kierunek_id = z.kierunek_id
- group by k.kierunek_id, k.nazwa
- having count (*) > 7
- order by k.kierunek_id
- 2
- WITH x AS(
- SELECT przedmiot_id, wynik, count (1) LNW
- FROM Zaliczenia
- WHERE wynik='Negatywny'
- GROUP BY przedmiot_id, wynik)
- SELECT x.*, p.nazwa from x, Przedmioty p
- WHERE LNW = (SELECT MAX(LNW) FROM x)
- AND x.przedmiot_id = p.przedmiot_id
- 3
- select w.nazwisko, p.przedmiot_id, p.nazwa
- from przedmioty p, wykladowcy w, zaliczenia z
- where p.przedmiot_id = z.przedmiot_id
- and w.wykladowca_id = z.wykladowca_id
- and w.wykladowca_id = '0009'
- group by w.nazwisko, p.przedmiot_id, p.nazwa
- 4
- select s.nazwisko, s.imie, s.student_id
- from studenci s
- where student_id not in (
- select student_id
- from zaliczenia
- where przedmiot_id = '7')
- 5
- select s.student_id, s.nazwisko, s.imie, p.przedmiot_id, p.nazwa, z.data_zal
- from studenci s, zaliczenia z, przedmioty p
- where p.przedmiot_id = z.przedmiot_id
- and s.student_id = z.student_id
- and z.data_zal between '2009-04-20' and '2010-05-20'
- 6
- select kierunek_id, nazwa
- from kierunki
- where kierunek_id not in (
- select kierunek_id
- from zaliczenia)
- 7
- 8
- select count (*) liczba_zal
- from zaliczenia
- where student_id = '0500324'
- and wynik = 'Zaliczony'
- 9
- select p.nazwa
- from przedmioty p, zaliczenia z
- where z.kierunek_id = '3'
- and z.data_zal between '2010-07-01' and '2010-07-31'
- 10
- select to_char(z.data_zal, 'DAY'), p.przedmiot_id, p.nazwa
- from zaliczenia z, przedmioty p
- where z.student_id = '0000060'
- and p.przedmiot_id = z.przedmiot_id
- 11
- select min(data_zal) as data_pierw_zal, max(data_zal) as data_ost_zal
- from zaliczenia
- where kierunek_id = '1'
- 12
- select min(z.data_zal) as data_pierw_zal, max(z.data_zal) as data_ost_zal
- from zaliczenia z, kierunki k
- where k.nazwa = 'Gry i multimedia'
- and z.kierunek_id = k.kierunek_id
- 13
- select s.imie, s.nazwisko, count (z.kierunek_id) liczba_kier
- from studenci s, zaliczenia z
- where s.student_id = z.student_id
- group by s.imie, s.nazwisko
- 14
- select w.wykladowca_id, w.imie, w.nazwisko, count(z.nr_zal) liczba_zal
- from wykladowcy w, zaliczenia z
- where w.wykladowca_id = z.wykladowca_id
- group by w.wykladowca_id, w.imie, w.nazwisko
- having count (*) > 10
- 15
- select wykladowca_id, imie, nazwisko
- from wykladowcy
- where nazwisko like 'B%'
- 16-----------------do poprawy
- with x as(
- select count(nr_zal) lz
- from zaliczenia
- group by przedmiot_id, wykladowca_id)
- SELECT x.*, z.przedmiot_id, w.nazwisko
- from x, wykladowcy w
- WHERE lz = (SELECT MAX(lz) FROM x)
- AND x.wykladowca_id = w.wykladowca_id
- 17-----------------do poprawy
- select s.nazwisko, count(*) zs, z.kierunek_id
- from studenci s, zaliczenia z, kierunki k
- where s.student_id = z.student_id
- group by s.nazwisko, z.kierunek_id
- order by z.kierunek_id, zs
- ---------------------------------------------------------------------------------------------------------------
- pyt2. Z którego przedmiotu najwięcej razy wystawiono negatywną ocenę z zaliczenia?
- ---------------------------------------------------------------------------------------------------------------
- SELECT przedmiot_id, wynik, count (1) LNW
- FROM Zaliczenia
- WHERE wynik='Negatywny'
- GROUP BY przedmiot_id, wynik
- HAVING count(1) = 2
- SELECT przedmiot_id, wynik, count (1) LNW
- FROM Zaliczenia
- WHERE wynik='Negatywny'
- GROUP BY przedmiot_id, wynik
- HAVING count(1) = (
- SELECT MAX(LNW) from (SELECT przedmiot_id, wynik, count (1) LNW
- FROM Zaliczenia
- WHERE wynik='Negatywny'
- GROUP BY przedmiot_id, wynik) x
- )
- // // NAJLEPSZE ROZWIAZANIE: \\ \\
- WITH x AS(
- SELECT przedmiot_id, wynik, count (1) LNW
- FROM Zaliczenia
- WHERE wynik='Negatywny'
- GROUP BY przedmiot_id, wynik)
- SELECT x.*, p.nazwa
- from x, Przedmioty p
- WHERE LNW = (SELECT MAX(LNW) FROM x)
- AND x.przedmiot_id = p.przedmiot_id
- ---------------------------------------------------------------------------------------------------------------
- PYT3. Z jakich przedmiotów przeprowadził egzaminy wykładowca o kodzie 0009 ?
- ---------------------------------------------------------------------------------------------------------------
- SELECT x.*, p.nazwa, w.nazwisko, w.imie
- FROM (SELECT DISTINCT wykladowca_id, przedmiot_id
- FROM Zaliczenia
- WHERE wykladowca_id ='0009') x , Przedmioty P, Wykladowcy W
- WHERE x.przedmiot_id = p.przedmiot_id
- AND x.wykladowca_id = w.wykladowca_id
- ---------------------------------------------------------------------------------------------------------------
- PYT4. Wyświetlić tych studentów (Nazwisko, Imie, id), którzy jeszcze nie zdawali przedmiotu o id=7.
- ---------------------------------------------------------------------------------------------------------------
- SELECT * from Studenci WHERE student_id NOT IN
- (SELECT DISTINCT student_id
- FROM Zaliczenia
- WHERE przedmiot_id = '7')
- // // ALBO: \\ \\
- SELECT s.student_id, nazwisko, imie, koszyk.student_id from Studenci S LEFT JOIN
- (SELECT DISTINCT student_id
- FROM Zaliczenia
- WHERE przedmiot_id = '7') koszyk
- ON koszyk.student_id = s.student_id
- WHERE koszyk.student_id IS NULL
- ---------------------------------------------------------------------------------------------------------------
- PYT4. 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.przedmiot_id, nazwa, data_zal,
- TO_CHAR(Data_zal, 'DD Month YYYY'),
- TO_CHAR(Data_zal, 'DD-Month-YYYY')
- FROM studenci S, przedmioty P, zaliczenia Z
- WHERE s.student_id = z.student_id
- AND p.przedmiot_id = z.przedmiot_id
- AND TO_CHAR(data_zal, 'YYYY-MM-DD')
- BETWEEN '2009-04-20' AND '2009-05-20';
- ---------------------------------------------------------------------------------------------------------------
- PYT5. W którym miesiącu i którego roku przeprowadzono najwięcej zaliczeń?
- ---------------------------------------------------------------------------------------------------------------
- WITH x AS (SELECT TO_CHAR (Data_zal, 'YYYY-MM') Okres, COUNT(1) LZ
- FROM Zaliczenia
- GROUP BY TO_CHAR(Data_zal, 'YYYY-MM')
- ORDER BY 2 DESC)
- SELECT * FROM X WHERE LZ = (SELECT MAX(LZ) FROM X)
- ---------------------------------------------------------------------------------------------------------------
- PYT6. Podać datę pierwszego i ostatniego zaliczenia przeprowadzonego z kierunku o numerze 1.
- ---------------------------------------------------------------------------------------------------------------
- SELECT z.kierunek_id, nazwa, MIN(Data_zal), MAX(Data_zal)
- FROM Zaliczenia z, Kierunki k
- WHERE z.kierunek_id = k.kierunek_id
- GROUP BY z.kierunek_id, nazwa
- ---------------------------------------------------------------------------------------------------------------
- PYT7. Na ilu kierunkach studiuje kaSdy ze studentów?
- ---------------------------------------------------------------------------------------------------------------
- SELECT s.student_id, nazwisko, count(*), count(s.student_id), count(z.student_id), count(z.kierunek_id)
- FROM Studenci S
- LEFT JOIN Zaliczenia Z
- ON z.student_id = s.student_id
- GROUP BY s.student_id , nazwisko
- -------------------------------------------------------------------------------------------
- 4. select s.student_id, s.nazwisko, to_char(z.data_zal, 'YYYY/Month/DD') date, p.nazwa
- from studenci s, zaliczenia z, przedmioty p
- where s.student_id = '0000049' and s.student_id = z.student_id
- and z.przedmiot_id = p.przedmiot_id
- -------------------------------------------------------------------------------------------
- 5. select distinct p.przedmiot_id, p.nazwa, w.wykladowca_id, w.nazwisko as nazwisko_wykladowcy
- from wykladowcy w, przedmioty p, zaliczenia z
- where z.wykladowca_id = '0009' and w.wykladowca_id = z.wykladowca_id
- and z.przedmiot_id = p.przedmiot_id
- -------------------------------------------------------------------------------------------
- 6. select distinct s.student_id, s.imie, s.nazwisko, w.wykladowca_id
- from studenci s, wykladowcy w, zaliczenia z
- where z.wykladowca_id = '0001' and s.student_id = z.student_id
- and w.wykladowca_id = z.wykladowca_id
- -------------------------------------------------------------------------------------------
- 7. select s.student_id, s.imie, s.nazwisko, p.nazwa, to_char(z.data_zal,'Day') dzien
- from studenci s, zaliczenia z, przedmioty p
- where z.student_id = '0000060' and s.student_id = z.student_id
- and z.przedmiot_id = p.przedmiot_id
- -------------------------------------------------------------------------------------------
- 8. SELECT s.imie, s.nazwisko, s.student_id, p.przedmiot_id, nazwa, z.data_zal
- FROM Studenci s, Zaliczenia z, Przedmioty p
- WHERE z.data_zal BETWEEN '2002-04-20' AND '2009-05-20'
- AND s.student_id = z.student_id
- AND p.przedmiot_id = z.przedmiot_id
- -------------------------------------------------------------------------------------------
- 9. select s.student_id, s.imie, s.nazwisko, p.nazwa, z.wynik
- from studenci s, zaliczenia z, przedmioty p
- where z.wynik='Zaliczony' and p.przedmiot_id = z.przedmiot_id
- and s.student_id = z.student_id and (s.student_id = '0000061' or s.student_id = '0500323')
- -------------------------------------------------------------------------------------------
- 10. select student_id, imie, nazwisko
- from studenci
- where student_id not in (select student_id from zaliczenia where przedmiot_id = '7')
- -------------------------------------------------------------------------------------------
- 11. select kierunek_id, nazwa
- from kierunki
- where kierunek_id
- not in (select kierunek_id from zaliczenia)
- -------------------------------------------------------------------------------------------
- 12. select wykladowca_id, imie, nazwisko
- from wykladowcy
- where nazwisko like 'B%'
- -------------------------------------------------------------------------------------------
- 13. select p.przedmiot_id, p.nazwa, data_zal as data_zaliczenia
- from przedmioty p, zaliczenia z
- where p.przedmiot_id = z.przedmiot_id and z.kierunek_id = '3'
- and to_char(data_zal, 'YYYY-MM') = '2010-07'
- -------------------------------------------------------------------------------------------
- 14. select count(z.wykladowca_id), imie, nazwisko, w.wykladowca_id
- from zaliczenia z, wykladowcy w
- where w.wykladowca_id = '0004' and w.wykladowca_id = z.wykladowca_id
- group by w.wykladowca_id, imie, nazwisko
- -------------------------------------------------------------------------------------------
- 15. select min(data_zal) as data_pierw_zal, max(data_zal) as data_ost_zal
- from zaliczenia
- where kierunek_id = '1'
- -------------------------------------------------------------------------------------------
- 16. select s.student_id, imie, nazwisko, count(*) as ilosc_zaliczonych
- from studenci s, zaliczenia z
- where z.student_id = '0500324' and wynik='Zaliczony' and s.student_id = z.student_id
- group by s.student_id
- -------------------------------------------------------------------------------------------
- 17. select k.kierunek_id, k.nazwa, count(*) as liczba_zaliczen
- from zaliczenia z, kierunki k
- where k.kierunek_id = z.kierunek_id
- group by k.kierunek_id
- -------------------------------------------------------------------------------------------
- 18. Select p.przedmiot_id, p.nazwa, count(distinct z.student_id) as ilość_osób_zal
- From przedmioty p,zaliczenia z
- where p.przedmiot_id = z.przedmiot_id
- group by p.przedmiot_id
- -------------------------------------------------------------------------------------------
- 19. select w.wykladowca_id, imie, nazwisko, count(*) as liczba_zal
- from wykladowcy w, zaliczenia z
- where w.wykladowca_id = z.wykladowca_id
- group by w.wykladowca_id
- -------------------------------------------------------------------------------------------
- 20. select w.wykladowca_id, imie, nazwisko, count(*) as liczba_zal
- from wykladowcy w, zaliczenia z
- where z.wykladowca_id = w.wykladowca_id
- group by w.wykladowca_id
- having count(*) > 10
- -------------------------------------------------------------------------------------------
- 21.select k.kierunek_id, nazwa, count(*) as liczba_zal
- from kierunki k, zaliczenia z
- where z.kierunek_id = k.kierunek_id
- group by k.kierunek_id
- having count(*) > 7
- -------------------------------------------------------------------------------------------
- 22. select p.przedmiot_id, nazwa, count(*) as liczba_zal
- from przedmioty p, zaliczenia z
- where p.przedmiot_id = z.przedmiot_id and wynik = 'Zaliczony'
- group by p.przedmiot_id
- having count(*) > 5
- -------------------------------------------------------------------------------------------
- 23. select s.student_id, imie, nazwisko, count(distinct kierunek_id) as liczba_kier
- from zaliczenia z, studenci s
- where s.student_id = z.student_id
- group by s.student_id
- -------------------------------------------------------------------------------------------
- 24. select s.student_id, s.imie,s.nazwisko, sum(p.ects) as ilosc_ects
- from studenci s, przedmioty p,zaliczenia z
- where s.student_id = z.student_id and p.przedmiot_id = z.przedmiot_id and wynik = 'Zaliczony'
- group by s.student_id
- -------------------------------------------------------------------------------------------
- 25. select s.student_id, imie, nazwisko, k.kierunek_id, k.nazwa, sum(p.ects)
- from studenci s, kierunki k, zaliczenia z, przedmioty p
- where s.student_id = z.student_id and k.kierunek_id = z.kierunek_id
- and p.przedmiot_id = z.przedmiot_id
- group by s.student_id, k.kierunek_id
- having sum(p.ects) >= k.s_ects
- -------------------------------------------------------------------------------------------
- 26. select k.kierunek_id, to_char(data_zal, 'YYYY'), sum(p.ects) as srednia_ilosc_ects
- from zaliczenia z, kierunki k, przedmioty p
- where k.kierunek_id = z.kierunek_id and p.przedmiot_id = z.przedmiot_id
- and wynik = 'Zaliczony' and to_char(data_zal, 'YYYY') = '2011'
- group by k.kierunek_id, to_char(data_zal, 'YYYY')
- order by k.kierunek_id
- -------------------------------------------------------------------------------------------
- 27. select min(data_zal) as data_pierwszego_zal , max(data_zal) as data_ostatniego_zal
- from zaliczenia z, kierunki k
- where k.kierunek_id = z.kierunek_id and k.nazwa LIKE 'Gry i multimedia'
- -------------------------------------------------------------------------------------------
- -------------------------------------------------------------------------------------------
- -------------------------------------------------------------------------------------------
- Zad1. select w.wykladowca_id, w.imie, w.nazwisko, min(data_zal) as pierwsze_zal_wykladowcy
- from zaliczenia z, wykladowcy w
- where w.wykladowca_id = z.wykladowca_id and w.imie like 'Dariusz' and w.nazwisko like 'Bober'
- group by w.wykladowca_id
- -------------------------------------------------------------------------------------------
- Zad2. select k.kierunek_id, k.nazwa
- from kierunki k, zaliczenia z
- where k.kierunek_id not in (select kierunek_id
- from zaliczenia
- where to_char(data_zal, 'YYYY') = '2010')
- group by k.kierunek_id
- -------------------------------------------------------------------------------------------
- Zad3.
- a). select w.imie from wykladowcy w, studenci s
- where w.imie = s.imie
- group by w.imie
- -------------------------------------------------------------------------------------------
- Zad4. select count(*), s.nazwisko
- from zaliczenia z, kierunki k, studenci s
- where k.kierunek_id = '2' and k.kierunek_id = z.kierunek_id
- and s.student_id = z.student_id and s.nazwisko = 'Biegas'
- group by s.nazwisko
- -------------------------------------------------------------------------------------------
- Zad5. select count(distinct wykladowca_id), p.przedmiot_id, p.nazwa
- from zaliczenia z, przedmioty p
- where p.przedmiot_id = z.przedmiot_id
- group by p.przedmiot_id
- -------------------------------------------------------------------------------------------
- -------------------------------------------------------------------------------------------
- stare, 3 semestr
- 25
- select k.kierunek_id, count(*), sum(p.ects)
- from kierunki k, zaliczenia z, przedmioty p
- where z.kierunek_id = k.kierunek_id
- and z.przedmiot_id = p.przedmiot_id
- and z.wynik = 'Zaliczony'
- group by k.kierunek_id
- having sum(p.ects) >= s_ects
- 26
- select k.kierunek_id, count(*)
- from kierunki k, zaliczenia z
- where z.kierunek_id = k.kierunek_id
- and z.wynik = 'Zaliczony'
- AND z.data_zal BETWEEN '09-01-01' AND '09-12-31'
- group by k.kierunek_id
- order by kierunek_id
- PERSPEKTYWY
- 1
- CREATE VIEW studenci_secure AS
- SELECT student_id, imie, nazwisko, miasto, ulica, numer, kod
- FROM studenci;
- SELECT * FROM studenci_secure
- 3, 4 dom
- Konrad Bielecki <ksygrek@gmail.com>
- Jan 8
- to otspatryk, Dominik
- 25
- select k.kierunek_id, count(*), sum(p.ects)
- from kierunki k, zaliczenia z, przedmioty p
- where z.kierunek_id = k.kierunek_id
- and z.przedmiot_id = p.przedmiot_id
- and z.wynik = 'Zaliczony'
- group by k.kierunek_id
- having sum(p.ects) >= s_ects
- 26
- select k.kierunek_id, count(*)
- from kierunki k, zaliczenia z
- where z.kierunek_id = k.kierunek_id
- and z.wynik = 'Zaliczony'
- AND z.data_zal BETWEEN '09-01-01' AND '09-12-31'
- group by k.kierunek_id
- order by kierunek_id
- PERSPEKTYWY
- 1
- CREATE VIEW studenci_secure AS
- SELECT student_id, imie, nazwisko, miasto, ulica, numer, kod
- FROM studenci;
- SELECT * FROM studenci_secure
- perspektywy dodatkowe
- CREATE VIEW zaliczone_przedmioty AS (
- 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
- from studenci s, zaliczenia z, wykladowcy w, przedmioty p
- where s.student_id = z.student_id
- and s.student_id = z.student_id
- and w.wykladowca_id = z.wykladowca_id
- and p.przedmiot_id = z.przedmiot_id
- and z.wynik = 'Zaliczony');
- create view ile_stud_na_przedmiot as(
- select p.przedmiot_id, p.nazwa, count(distinct z.student_id) as ile_stud
- from zaliczenia z, przedmioty p
- where z.przedmiot_id = p.przedmiot_id
- group by p.przedmiot_id);
- create view ile_przedm_na_stud as(
- select s.student_id, s.nazwisko, s.imie, count(distinct z.przedmiot_id) as ile_przedm
- from zaliczenia z, studenci s
- where s.student_id = z.student_id
- group by s.student_id);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement