SQL - JĘZYK ZAPYTAŃ LABORATORIUM dr inż. Piotr Muryjas Instytut Informatyki Politechnika Lubelska
Struktura danych STUDENCI Id_student VARCHAR2 (7) Nazwisko VARCHAR2 (25) EGZAMINATORZY Id_egzaminator VARCHAR2 (4) Nazwisko VARCHAR2 (25) Imie VARCHAR2 (15) Tel VARCHAR2 (12) Fax VARCHAR2 (12) E_mail VARCHAR2 (30) przeprowadza EGZAMINY Nr_egz NUMBER (7) Id_student <FK1> VARCHAR2 (7) Id_przedmiot <FK2> NUMBER (3) Id_egzaminator <FK3> VARCHAR2 (4) Data_egz DATE Id_osrodek <FK4> NUMBER (5) Zdal VARCHAR2(1) zdaje Imie VARCHAR2 (15) Data_ur DATE Miejsce VARCHAR2 (15) PESEL VARCHAR2 (11) Tel VARCHAR2 (12) Fax VARCHAR2 (12) E_mail VARCHAR2 (30) Nr_ECDL VARCHAR2 (9) Data_ECDL DATE jest miejscem jest tematem OSRODKI Id_osrodek NUMBER (5) Nazwa_o VARCHAR2 (30) PRZEDMIOTY Id_przedmiot NUMBER (3) Nazwa_p VARCHAR2 (40) Opis VARCHAR2 (200)
1. Wyświetlić podstawowe dane (miasto, nazwa_o, Id_osrodek) o ośrodkach. Posortować wyświetlane dane malejąco wg miasta oraz rosnąco wg identyfikatora. 2. Podać identyfikatory ośrodków, w których przeprowadzono już egzaminy. 3. Wyświetlić podstawowe dane (Nazwisko, Imie, Id_egzaminator) o tych egzaminatorach, których nazwiska zaczynają się na literę M. Posortować wyświetlane dane wg miasta, w którym mieszkają egzaminatorzy. 4. Wyświetlić informacje (Nazwisko, Imie, Id_egzaminator) o egzaminatorach z Lublina. Posortować dane wg nazwiska i imienia egzaminatora. 5. Podać identyfikatory ośrodków, w których student o identyfikatorze 0000049 zdawał egzaminy z przedmiotów o identyfikatorze 1 oraz 3. 6. Podać identyfikatory ośrodków, w których przeprowadzono egzaminy w okresie od 20 kwietnia 1999 do 20 kwietnia 2000. 7. W jakie dni tygodnia przeprowadzano egzaminy w ośrodku o identyfikatorze 1? 8. Podać informacje, kiedy student posiadający identyfikator 0000049 zdawał egzaminy z poszczególnych przedmiotów. Uporządkować informacje według czasu zdawania egzaminów. Zmienić format wyświetlania daty tak, by wyświetlana była także informacja o nazwie miesiąca, w którym zdawano egzamin, a kolejne elementy daty były oddzielone znakiem /. 9. Wyświetlić imiona, nazwiska i identyfikatory studentów, którzy zdawali egzamin w ośrodku o identyfikatorze 3. 10. Podać nazwisko, imię i identyfikator studentów egzaminowanych w ośrodku o nazwie LBS. 11. Podać nazwisko, imię oraz identyfikator egzaminatorów, którzy egzaminowali studenta o identyfikatorze 0500323. Użyj składni ze standardu SQL-92 (inner join) 12. Kto i jakie przedmioty zdawał w ośrodku o nazwie CKMP lub LBS? Podać identyfikator, nazwisko oraz imię studenta oraz nazwę przedmiotu. 13. Podać przedmioty, które były zdawane zarówno w ośrodku o identyfikatorze 1 jak i 3. 14. W którym ośrodku nie przeprowadzono żadnego egzaminu? Podać jego identyfikator oraz nazwę. 15. Którzy egzaminatorzy nie przeprowadzali egzaminu z przedmiotu, którego nazwa to Bazy danych? Podać ich imię, nazwisko oraz identyfikator. 16. Kto i jakie przedmioty zdawał w ten sam dzień lub później od ostatniego egzaminu studenta o identyfikatorze 0500324? 17. Jakie przedmioty były zdawane po ostatnim egzaminie z przedmiotu o identyfikatorze 4? Podać nazwę przedmiotu. 18. Którzy studenci zdawali egzaminy w ośrodkach znajdujących się poza ich miejscem zamieszkania? 19. Którzy egzaminatorzy przeprowadzili egzaminy w ośrodku CKMP i LBS? Podać ich identyfikator, nazwisko oraz imię. Uwzględnić tylko tych egzaminatorów, którzy przeprowadzali egzaminy w jednym i drugim ośrodku. Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska 3
20. Wyświetlić dane o studentach o takich samych imionach. 21. Wyświetlić dane o egzaminatorach z tego samego miasta. 22. Wyświetlić wszytskie ośrodki i dla każdego ośrodka identyfikatory przedmiotów, z których były przeprowadzane egzaminy. 23. Ile egzaminów przeprowadzono w każdym z ośrodków? Uwzględnić także te ośrodki, w których jeszcze nie przeprowadzono żadnego egzaminu. 24. Podać datę pierwszego i ostatniego egzaminu przeprowadzonego w każdym z ośrodków. 25. Ile egzaminów przeprowadzono w ośrodku o nazwie CKMP, a ile w LBS? 26. Ile egzaminów przeprowadził egzaminator o identyfikatorze 0001 w ośrodku o nazwie CKMP. Dodatkowo wyświetlić imie i nazwisko egzaminatora. 27. W których ośrodkach przeprowadzono z przedmiotu o identyfikatorze 1 więcej niż 4 egzaminy? 28. Którzy egzaminatorzy przeprowadzili więcej niż 10 egzaminów? 29. W którym miesiącu i którego roku przeprowadzono najwięcej egzaminów? 30. W którym ośrodku i kiedy student o nazwisku Biegaj zdawał pierwszy i ostatni egzamin z przedmiotu Bazy danych? Dla każdego studenta o podanym nazwisku wskazać ośrodek, podając jego identyfikator oraz nazwę. 31. Którzy studenci nie zdawali egzaminu u egzaminatora Piotra Muryjasa. Użyj operatora MINUS. 32. Którzy egzaminatorzy egzaminowali studentów o nazwisku Pytlak a nie egzaminowali studenta o nazwisku Biegaj. 33. Ile osób zdawało egzaminy w poszczególnych ośrodkach? Uwzględnić również ośrodki, w których nie przeprowadzono egzaminu. 34. W którym ośrodku przystąpiło do egzaminu najwięcej osób? 35. Z którego przedmiotu w ośrodku o nazwie CKMP egzamin zdawało więcej niż 5 studentów? Dla każdego ośrodka o podanej nazwie wskazać przedmiot, podając jego nazwę. 36. Który student przystąpił do egzaminu i nie zdał najwięcej egzaminów z jednego przedmiotu? Wyświetlić dane o studencie i przedmiotach, z których nie zdał. 37. Który student zdał najmniej egzaminów? Uwzględnić tylko tych studentów, którzy przystąpili już do egzaminów. 38. W którym miesiącu i którego roku przeprowadzono najwięcej egzaminów w ośrodku o nazwie Atena? W odpowiedzi podać pełną nazwę miesiąca i rok czterocyfrowy. 39. Z ilu przedmiotów zdawali łącznie egzaminy studenci Kamil Biegaj i Agnieszka Szafrańska. 40. W których ośrodkach nie przeprowadzono żadnego egzaminu? Wykorzystać operator (NOT) EXISTS. 41. Którzy egzaminatorzy przeprowadzili co najmniej 2 egzaminy w ośrodkach o nazwie CKMP i Atena? Podać ich identyfikator, nazwisko oraz imię. Uwzględnić tylko tych egzaminatorów, którzy przeprowadzali co najmniej 2 egzaminy łącznie w jednym i drugim ośrodku. Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska 4
42. Z których przedmiotów nie przeprowadzono egzaminu w ośrodkach o nazwie CKMP i LBS? Podać nazwę przedmiotu. Uwzględnić tylko te przedmioty, z których egzaminu nie przeprowadzono zarówno w ośrodku (ośrodkach) o nazwie CKMP jak i o nazwie LBS. 43. Z którego przedmiotu zdano najwięcej egzaminów w poszczególnych ośrodkach? Dla każdego ośrodka, w którym odbył się egzamin, podać nazwę przedmiotu. 44. Którzy studenci zdawali egzamin z poszczególnych przedmiotów w pierwszym dniu egzaminowania z danego przedmiotu. Dla każdego przedmiotu wskazać studenta, podając jego identyfikator, imię oraz nazwisko. 45. Z którego przedmiotu przeprowadzono najwięcej egzaminów w ośrodku o nazwie CKMP? 46. W których ośrodkach najwięcej egzaminatorów zaliczyło egzaminy poszczególnym studentom. 47. Który student zdawał ostatni egzamin z każdego przedmiotu. 48. Który egzaminator przeprowadził najwięcej egzaminów w poszczególnych ośrodkach? 49. Z którego przedmiotu zdawało najwięcej osób w poszczególnych ośrodkach? 50. Którzy studenci zdali najwięcej egzaminów w poszczególnych ośrodkach? Podać nazwę ośrodka oraz imię i nazwisko studenta. 51. Którzy egzaminatorzy przeprowadzili najwięcej egzaminów z poszczególnych przedmiotów. 52. W których ośrodkach przeprowadzono pierwszy i ostatni egzamin z poszczególnych przedmiotów? Piotr Muryjas, Instytut Informatyki, Politechnika Lubelska 5