SQL do zaawansowanych analiz danych – część 1.
Transkrypt
SQL do zaawansowanych analiz danych – część 1.
SQL do zaawansowanych analiz danych – część 1. Rozszerzenia SQL Materiały laboratoryjne Bartosz Bębel Politechnika Poznańska, Instytut Informatyki Wprowadzenie do ć wiczenia W niniejszym ćwiczeniu student nabierze praktycznych umiejętności w posługiwaniu się poleceniami rozszerzającymi język SQL o definiowanie złożonych schematów grupowania przy analizach danych: GROUP BY, ROLLUP, CUBE, PIVOT i UNPIVOT. Wszystkie zadania będą realizowane na danych przedstawionego poniżej schematu relacyjnego. Ćwiczenia należy realizować w bazie dblab01. Twoje konto bazodanowe posiada nazwę utworzoną z dodania do Twojego numeru indeksu przedrostka "BIO" (np. BIO12345 dla numer indeksu 12345). Początkowe hasło jest takie samo jak nazwa użytkownika. Używanym w ćwiczeniu narzędziem jest Oracle SQL Developer. Cwiczenie 1. Proste grupowanie W niniejszym ćwiczeniu będziemy wykorzystywać klauzulę GROUP BY w podstawowej formie oraz klauzulę HAVING. 1. Zbuduj zapytanie, które znajdzie liczbę wszystkich studentów (tabela STUDENCI). LICZBA ---------12615 2. Zmodyfikuj powyższe zapytanie w taki sposób, aby otrzymać liczbę studentów z podziałem na płcie. Wynik posortuj wg płci. PLEC LICZBA --------- ---------kobiety 5900 mężczyźni 6715 3. Policz, ile ocen zdobyli studenci w całym roku akademickim 2005/06 (tabela OCENY). LICZBA_OCEN ----------105425 4. Rozszerz poprzednie zapytanie w taki sposób, aby otrzymać liczbę ocen w roku akademickim 2005/06 z podziałem na semestry: zimowy i letni. RODZAJ_SEMESTRU LICZBA_OCEN --------------- ----------letni 50196 zimowy 55229 5. Ogranicz analizy ocen do semestru akademickim 2005/06 zimowego. Poznaj rozkład ocen w tym semestrze (rozkład ocen – liczba wystąpień danej oceny). Pomiń w wyniku rekordy bez oceny (z pustą wartością kolumny ocena). OCENA LICZBA_OCEN ---------- ----------2 4154 3 15710 3,5 7163 4 11809 4,5 4741 5 10493 6 wierszy zostało wybranych. 6. Tym razem podziel zbiór ocen z semestru akademickiego 2005/06 zimowego na trzy kategorie: "oceny słabe": 2 i 3, "oceny średnie": 3.5 oraz 4 i "oceny wybitne": 4.5 i 5. Znajdź liczbę ocen w każdej kategorii. Wykorzystaj konstrukcję CASE. KATEGORIA LICZBA_OCEN ------------- ----------oceny słabe 19864 oceny średnie 18972 oceny wybitne 15234 7. Policz, ilu studentów studiuje na poszczególnych kierunkach (użyj połączonych tabel STUDENCI i KIERUNKI_STUDIOW). Posortuj wynik wg malejącej liczby studentów. KIERUNEK_STUDIOW STUDENTOW ------------------------------------------------------------ ---------Pedagogika (stacjonarne) 1487 Turystyka i rekreacja (stacjonarne) 1128 Ekonomia (stacjonarne) 1040 Wychowanie fizyczne (stacjonarne) 1024 Turystyka i rekreacja (niestacjonarne) 1007 Pedagogika (niestacjonarne) 1007 Wychowanie fizyczne (niestacjonarne) 910 Ekonomia (niestacjonarne) 869 Elektrotechnika (niestacjonarne) 852 Rolnictwo (stacjonarne) 832 Elektrotechnika (stacjonarne) 697 Mechanika i budowa maszyn (niestacjonarne) 566 Mechanika i budowa maszyn (stacjonarne) 533 Rolnictwo (niestacjonarne) 334 Wychowanie fizyczne z edukacją zdrowotną (niestacjonarne) 176 Edukacja artystyczna (stacjonarne) 153 16 wierszy zostało wybranych. 8. Rozbuduj poprzednie zapytanie w taki sposób, aby pominąć kierunki, na których studiuje mnie niż 1000 osób (użyj w zapytaniu klauzuli HAVING). KIERUNEK_STUDIOW STUDENTOW ------------------------------------------------------------ ---------Pedagogika (stacjonarne) 1487 Turystyka i rekreacja (stacjonarne) 1128 Ekonomia (stacjonarne) 1040 Wychowanie fizyczne (stacjonarne) 1024 Turystyka i rekreacja (niestacjonarne) 1007 Pedagogika (niestacjonarne) 1007 6 wierszy zostało wybranych. 9. Przekształć zapytanie z punktu 7. w taki sposób, aby pokazywało liczbę studentów na poszczególnych rodzajach studiów (dodaj połączenie z tabelą RODZAJE_STUDIOW, zmień kolumnę grupującą). Wynik posortuj wg nazw rodzajów studiów. RODZAJ_STUDIOW STUDENTOW ------------------------------------------------------------ ---------Niestacjonarne licencjackie 3969 Niestacjonarne zawodowe 1752 Stacjonarne licencjackie 4832 Stacjonarne zawodowe 2062 10. Do wyniku zadania 9. dodaj wyliczenie średnich ocen, zdobytych przez studentów studiujących na poszczególnych rodzajach studiów (dodaj połączenie z tabelą OCENY, zwróć uwagę, że mogą istnieć studenci bez oceny!). Średnią powinna zostać zaokrąglona do dwóch miejsc po przecinku. RODZAJ_STUDIOW STUDENTOW SREDNIA ------------------------------------------------------- ---------- ---------Niestacjonarne licencjackie 3969 3.77 Niestacjonarne zawodowe 1752 3.38 Stacjonarne licencjackie 4832 3.98 Stacjonarne zawodowe 2062 3.59 11. Tym razem policz, ilu różnych studentów studiowało każdy z przedmiotów (tabele: PRZEDMIOTY i OCENY). Jeśli student kilkukrotnie studiował dany przedmiot (otrzymał kilka ocen z tego samego przedmiotu), licz go jeden raz. PRZEDMIOT STUDENTOW ------------------------------------------------------------ ---------Przedmiot 186 4835 Przedmiot 194 3371 Przedmiot 180 2962 Przedmiot 233 2937 Przedmiot 179 2699 Przedmiot 223 2311 Przedmiot 442 2261 Przedmiot 554 2253 Przedmiot 222 2128 Przedmiot 201 2007 ... 757 wierszy zostało wybranych. 12. Zmodyfikuj polecenie w zadaniu 11. w taki sposób, aby otrzymać tylko informacje o najpopularniejszym przedmiocie (zastosuj podzapytanie). PRZEDMIOT STUDENTOW ------------------------------------------------------------ ---------Przedmiot 186 4835 Cwiczenie 2. Pó łkostka i kostka danych W niniejszym ćwiczeniu rozszerzymy zakres stosowanych mechanizmów o klauzule ROLLUP i CUBE. 1. Zbuduj zapytanie, które ponownie znajdzie liczbę studentów z podziałem na płcie. Tym razem w wyniku ma się pojawić wiersz z całkowitą liczbą studentów (użyj klauzuli ROLLUP). PLEC LICZBA --------- ---------kobieta 5900 mężczyzna 6715 12615 2. Zmodyfikuj zapytanie z punktu 2. tak, aby w wierszu podsumowania pojawił się napis "wszyscy" (użyj funkcji GROUPING z konstrukcją CASE). PLEC LICZBA --------- ---------kobieta 5900 mężczyzna 6715 wszyscy 12615 3. Podaj liczby ocen, zdobyte przez studentów, w rozbiciu na lata akademickie. Wyświetl również podsumowanie zawierające całkowitą liczbę ocen (użyj klauzuli ROLLUP). Weź pod uwagę wszystkie oceny (niezależnie od ich wartości, być może również pustej). ROK_AKADEMICKI LICZBA_OCEN -------------- ----------2000/01 24872 2001/02 45203 2002/03 61930 2003/04 78705 2004/05 94217 2005/06 105425 2006/07 106332 516684 8 wierszy zostało wybranych. 4. Rozszerz zapytanie z punkt 3. o dodatkowy poziom sumowania – wyświetl również liczbę ocen zdobytych w poszczególnych latach akademickich. ROK_AKADEMICKI -------------2000/01 2000/01 2000/01 2001/02 2001/02 2001/02 2002/03 2002/03 2002/03 2003/04 2003/04 2003/04 2004/05 2004/05 2004/05 2005/06 2005/06 2005/06 2006/07 2006/07 2006/07 RODZAJ_SEMESTRU LICZBA_OCEN --------------- ----------24872 zimowy 12580 letni 12292 45203 zimowy 22297 letni 22906 61930 zimowy 31291 letni 30639 78705 zimowy 40147 letni 38558 94217 zimowy 48631 letni 45586 105425 zimowy 55229 letni 50196 106332 zimowy 53446 letni 52886 516684 22 wierszy zostało wybranych. 5. Zmodyfikuj wynik punktu 4. w taki sposób, aby oznaczyć odpowiednim tekstem podsumowania. ROK AKADEMICKI -------------2000/01 2000/01 2000/01 2001/02 2001/02 2001/02 2002/03 2002/03 2002/03 2003/04 ... 2005/06 2005/06 2005/06 2006/07 2006/07 2006/07 wszystkie lata RODZAJ SEMESTRU LICZBA_OCEN --------------- ----------zimowy 12580 letni 12292 semestry razem 24872 zimowy 22297 letni 22906 semestry razem 45203 zimowy 31291 letni 30639 semestry razem 61930 zimowy 40147 zimowy letni semestry razem zimowy letni semestry razem 22 wierszy zostało wybranych. 55229 50196 105425 53446 52886 106332 516684 6. Zbuduj zapytanie, które wyliczy, ilu studentów studiuje na każdym kierunku studiów, każdym rodzaju studiów i każdej kategorii studiów. Dołącz do wyniku również podsumowanie zawierające całkowitą liczbę studentów (użyj klauzuli ROLLUP). KATEGORIA --------N N N N N N N N N N N S S S S S S S S S S S RODZAJ -----NL NL NL NL NL NL NZ NZ NZ NZ SL SL SL SL SL SL SZ SZ SZ SZ KIERUNEK LICZBA_STUDENTOW -------- ---------------NLK1 869 NLK2 1007 NLK3 1007 NLK4 910 NLK5 176 3969 NZK1 566 NZK2 334 NZK3 852 1752 5721 SLK1 153 SLK2 1040 SLK3 1487 SLK4 1128 SLK5 1024 4832 SZK1 697 SZK2 533 SZK3 832 2062 6894 12615 23 wierszy zostało wybranych. 7. Zmodyfikuj powyższe zapytanie tak, aby otrzymać poniższy wynik. KATEGORIA ------------------N N N N N N N ... N N S ... S S S ... S S wszystkie kategorie RODZAJ ----------------NL NL NL NL NL NL NZ KIERUNEK LICZBA_STUDENTOW ------------------ ---------------NLK1 869 NLK2 1007 NLK3 1007 NLK4 910 NLK5 176 wszystkie kierunki 3969 NZK1 566 NZ wszystkie kierunki wszystkie rodzaje wszystkie kierunki SL SLK1 1752 5721 153 SL SL SZ SLK5 wszystkie kierunki SZK1 1024 4832 697 SZ wszystkie kierunki wszystkie rodzaje wszystkie kierunki wszystkie rodzaje wszystkie kierunki 2062 6894 12615 23 wierszy zostało wybranych. 8. Zbuduj zapytanie, które pokaże, ilu studentów z podziałem na płcie pochodzi z poszczególnych województw (użyj połączenia tabel STUDENCI i MIASTA, zastosuj zwykłe grupowanie). WOJEWODZTWO -------------------dolnośląskie dolnośląskie kujawsko-pomorskie kujawsko-pomorskie lubelskie lubelskie lubuskie lubuskie łódzkie łódzkie małopolskie małopolskie mazowieckie mazowieckie opolskie opolskie podkarpackie podlaskie pomorskie pomorskie śląskie śląskie świętokrzyskie świętokrzyskie warmińsko-mazurskie warmińsko-mazurskie wielkopolskie wielkopolskie zachodniopomorskie zachodniopomorskie PLEC STUDENTOW --------- ---------kobieta 664 mężczyzna 835 kobieta 15 mężczyzna 21 kobieta 1 mężczyzna 3 kobieta 414 mężczyzna 424 kobieta 22 mężczyzna 25 kobieta 2 mężczyzna 1 kobieta 7 mężczyzna 6 kobieta 5 mężczyzna 2 mężczyzna 1 kobieta 1 kobieta 4 mężczyzna 8 kobieta 33 mężczyzna 19 kobieta 2 mężczyzna 4 kobieta 2 mężczyzna 4 kobieta 4717 mężczyzna 5354 kobieta 10 mężczyzna 8 30 wierszy zostało wybranych. 9. Rozszerz polecenie z poprzedniego punktu w ten sposób, aby w wyniku otrzymać również podsumowanie liczby studentów w każdym województwie bez podziału na płcie, podsumowanie każdej płci bez względu na województwa oraz podsumowanie całkowite. Wynik będzie pełną kostką danych. WOJEWODZTWO -------------------dolnośląskie dolnośląskie dolnośląskie kujawsko-pomorskie kujawsko-pomorskie kujawsko-pomorskie lubelskie lubelskie lubelskie lubuskie lubuskie lubuskie łódzkie łódzkie łódzkie małopolskie małopolskie małopolskie mazowieckie mazowieckie mazowieckie opolskie opolskie opolskie podkarpackie podkarpackie podlaskie podlaskie pomorskie pomorskie pomorskie śląskie śląskie śląskie świętokrzyskie świętokrzyskie świętokrzyskie warmińsko-mazurskie warmińsko-mazurskie warmińsko-mazurskie wielkopolskie wielkopolskie wielkopolskie zachodniopomorskie zachodniopomorskie zachodniopomorskie PLEC STUDENTOW --------- ---------kobieta 664 mężczyzna 835 1499 kobieta 15 mężczyzna 21 36 kobieta 1 mężczyzna 3 4 kobieta 414 mężczyzna 424 838 kobieta 22 mężczyzna 25 47 kobieta 2 mężczyzna 1 3 kobieta 7 mężczyzna 6 13 kobieta 5 mężczyzna 2 7 mężczyzna 1 1 kobieta 1 1 kobieta 4 mężczyzna 8 12 kobieta 33 mężczyzna 19 52 kobieta 2 mężczyzna 4 6 kobieta 2 mężczyzna 4 6 kobieta 4717 mężczyzna 5354 10071 kobieta 10 mężczyzna 8 18 kobieta 5899 mężczyzna 6715 12614 49 wierszy zostało wybranych. 10. Dodaj do zbioru studentów nowy rekord, opisujący studenta o identyfikatorze 17000, bez przypisanego kierunku, pochodzącego z Poznania (identyfikator 3303), bez daty urodzenia i płci. Następnie ponownie wykonaj zapytanie z punktu 9. Co zaobserwowałaś/eś? insert into studenci(student_id, miasto_id) values(17000 , 3303); select … WOJEWODZTWO -------------------dolnośląskie dolnośląskie dolnośląskie kujawsko-pomorskie kujawsko-pomorskie kujawsko-pomorskie ... warmińsko-mazurskie warmińsko-mazurskie warmińsko-mazurskie wielkopolskie wielkopolskie wielkopolskie wielkopolskie zachodniopomorskie zachodniopomorskie zachodniopomorskie PLEC STUDENTOW --------- ---------kobieta 664 mężczyzna 835 1499 kobieta 15 mężczyzna 21 36 kobieta mężczyzna kobieta mężczyzna kobieta mężczyzna kobieta mężczyzna 2 4 6 4717 5354 1 10072 10 8 18 5899 6715 12615 1 51 wierszy zostało wybranych. 11. Popraw zapytanie z poprzedniego punktu tak, aby wynik był zrozumiały dla analityka. WOJEWODZTWA -------------------dolnośląskie dolnośląskie kujawsko-pomorskie kujawsko-pomorskie kujawsko-pomorskie ... wielkopolskie wielkopolskie wielkopolskie wielkopolskie zachodniopomorskie zachodniopomorskie zachodniopomorskie Województwa razem Województwa razem Województwa razem Województwa razem PLCI STUDENTOW ----------------- ---------kobieta 664 Płcie razem 1499 kobieta 15 mężczyzna 21 Płcie razem 36 kobieta mężczyzna płeć nieokreślona Płcie razem kobieta mężczyzna Płcie razem kobieta mężczyzna Płcie razem płeć nieokreślona 51 wierszy zostało wybranych. 12. Usuń dodanego w punkcie 10. studenta. delete studenci where student_id = 17000; commit; 4717 5354 1 10072 10 8 18 5899 6715 12615 1 13. Dokonaj analizy średnich ocen, zdobytych przez studentów w ramach poszczególnych form zaliczenia (egzamin, zaliczenie, itd.) z poszczególnych rodzajów zajęć (wykład, ćwiczenia, itd.). W tym celu zbuduj kostkę danych z wymiarami rodzaj zaliczenia i rodzaj zajęć, miarą kostki będzie średnia ocen (zaokrąglona do dwóch miejsc po przecinku), zdobyta przez studentów z danego rodzaju zajęć zaliczanego przez dany rodzaj zaliczenia (użyj tabel OCENY, RODZAJE_ZAJEC i RODZAJE_ZALICZEN). Pomiń w analizach rodzaj zaliczenia "bez oceny". RODZAJ_ZALICZENIA -----------------------------egzamin egzamin egzamin egzamin egzamin ocena ocena ocena ocena ocena ocena ocena zaliczenie zaliczenie zaliczenie zaliczenie zaliczenie zaliczenie wszystkie rodzaje zaliczenia wszystkie rodzaje zaliczenia wszystkie rodzaje zaliczenia wszystkie rodzaje zaliczenia wszystkie rodzaje zaliczenia wszystkie rodzaje zaliczenia wszystkie rodzaje zaliczenia RODZAJ_ZAJEC SREDNIA_OCEN --------------------------------- -----------ćwiczenia 3.64 laboratorium 3.45 projekt 3.74 wykład 3.53 wszystkie rodzaje zajęć 3.54 ćwiczenia 3.86 laboratorium 3.77 praktyka 4.72 projekt 3.78 seminarium 4.5 wykład 3.92 wszystkie rodzaje zajęć 3.87 ćwiczenia 4.52 laboratorium 3.56 praktyka 4.22 projekt 4.61 wykład 4.05 wszystkie rodzaje zajęć 4.41 ćwiczenia 3.85 laboratorium 3.76 praktyka 4.65 projekt 3.86 seminarium 4.5 wykład 3.67 wszystkie rodzaje zajęć 3.78 25 wierszy zostało wybranych. 14. Zbuduj zapytanie, które wyliczy zbiór danych, zawierający analizę liczby studentów na poszczególnych rodzajach studiów w zależności od płci (użyj klauzuli GROUPING SETS). RODZAJ_STUDIOW ------------------------------------------------------Niestacjonarne licencjackie Niestacjonarne licencjackie Niestacjonarne zawodowe Niestacjonarne zawodowe Stacjonarne licencjackie Stacjonarne licencjackie Stacjonarne zawodowe Stacjonarne zawodowe 8 wierszy zostało wybranych. PLEC LICZBA_STUD --------- ----------kobieta 2168 mężczyzna 1801 kobieta 96 mężczyzna 1656 kobieta 3128 mężczyzna 1704 kobieta 508 mężczyzna 1554 15. Rozbuduj zapytanie z poprzedniego punktu, dodając do wyniku analizę liczby studentów z poszczególnych województw w zależności od płci. RODZAJ_STUDIOW -----------------------------Niestacjonarne licencjackie Niestacjonarne licencjackie Niestacjonarne zawodowe Niestacjonarne zawodowe Stacjonarne licencjackie Stacjonarne licencjackie Stacjonarne zawodowe Stacjonarne zawodowe PLEC --------kobieta mężczyzna kobieta mężczyzna kobieta mężczyzna kobieta mężczyzna kobieta kobieta kobieta kobieta kobieta kobieta kobieta kobieta kobieta kobieta kobieta kobieta WOJEWODZTWO LICZBA_STUD -------------------- ----------2168 1801 96 1656 3127 1704 508 1554 dolnośląskie 664 kujawsko-pomorskie 15 lubelskie 1 lubuskie 414 łódzkie 22 małopolskie 2 mazowieckie 7 opolskie 5 podlaskie 1 pomorskie 4 śląskie 33 świętokrzyskie 2 mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna małopolskie mazowieckie opolskie podkarpackie pomorskie śląskie świętokrzyskie warmińsko-mazurskie wielkopolskie zachodniopomorskie ... 38 wierszy zostało wybranych. 1 6 2 1 8 19 4 4 5354 8 16. Dokonaj kolejnej modyfikacji zapytania – tym razem zamiast analizy liczby studentów w zależności od płci na poszczególnych rodzajach studiów ma pojawić się analiza liczby studentów na poszczególnych rodzajach studiów bez względu na płeć. RODZAJ_STUDIOW PLEC ------------------------------ --------Niestacjonarne licencjackie Niestacjonarne zawodowe Stacjonarne licencjackie Stacjonarne zawodowe kobieta kobieta kobieta kobieta kobieta kobieta kobieta kobieta kobieta kobieta kobieta kobieta kobieta kobieta kobieta mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna mężczyzna 34 wierszy zostało wybranych. WOJEWODZTWO LICZBA_STUD -------------------- ----------3969 1752 4831 2062 dolnośląskie 664 kujawsko-pomorskie 15 lubelskie 1 lubuskie 414 łódzkie 22 małopolskie 2 mazowieckie 7 opolskie 5 podlaskie 1 pomorskie 4 śląskie 33 świętokrzyskie 2 warmińsko-mazurskie 2 wielkopolskie 4717 zachodniopomorskie 10 dolnośląskie 835 kujawsko-pomorskie 21 lubelskie 3 lubuskie 424 łódzkie 25 małopolskie 1 mazowieckie 6 opolskie 2 podkarpackie 1 pomorskie 8 śląskie 19 świętokrzyskie 4 warmińsko-mazurskie 4 wielkopolskie 5354 zachodniopomorskie 8 17. Dodaj do powyższego wyniku rekord pokazujący podsumowanie liczby studentów wg województw. RODZAJ_STUDIOW PLEC ------------------------------ --------Niestacjonarne licencjackie Niestacjonarne zawodowe Stacjonarne licencjackie Stacjonarne zawodowe kobieta kobieta kobieta ... mężczyzna mężczyzna WOJEWODZTWO LICZBA_STUD -------------------- ----------3969 1752 4831 2062 dolnośląskie 664 kujawsko-pomorskie 15 lubelskie 1 wielkopolskie zachodniopomorskie dolnośląskie kujawsko-pomorskie lubelskie lubuskie łódzkie małopolskie mazowieckie opolskie podkarpackie podlaskie pomorskie śląskie świętokrzyskie warmińsko-mazurskie wielkopolskie zachodniopomorskie 5354 8 1499 36 4 838 47 3 13 7 1 1 12 52 6 6 10071 18 50 wierszy zostało wybranych. 18. Uzupełnij powyższy wynik o rekord pokazujący całkowitą liczbę studentów. RODZAJ_STUDIOW PLEC ------------------------------ --------Niestacjonarne licencjackie Niestacjonarne zawodowe Stacjonarne licencjackie Stacjonarne zawodowe kobieta ... mężczyzna mężczyzna mężczyzna mężczyzna WOJEWODZTWO LICZBA_STUD -------------------- ----------3969 1752 4831 2062 dolnośląskie 664 świętokrzyskie warmińsko-mazurskie wielkopolskie zachodniopomorskie dolnośląskie kujawsko-pomorskie 4 4 5354 8 1499 36 ... wielkopolskie zachodniopomorskie 51 wierszy zostało wybranych. 10071 18 12614 Cwiczenie 3. Transformacja danych wierszowych do układu kolumnowego W niniejszym ćwiczeniu zapoznamy się z działaniem konstrukcji PIVOT i UNPIVOT. 1. Zbuduj ponownie zapytanie, które pokaże, ilu studentów z podziałem na płcie pochodzi z poszczególnych województw (połącz tabele STUDENCI i MIASTA, zastosuj zwykłe grupowanie). WOJEWODZTWO -------------------dolnośląskie dolnośląskie kujawsko-pomorskie kujawsko-pomorskie lubelskie lubelskie lubuskie lubuskie łódzkie łódzkie małopolskie małopolskie mazowieckie mazowieckie opolskie opolskie podkarpackie podlaskie pomorskie pomorskie śląskie śląskie świętokrzyskie świętokrzyskie warmińsko-mazurskie warmińsko-mazurskie wielkopolskie wielkopolskie zachodniopomorskie zachodniopomorskie PLEC STUDENTOW --------- ---------kobieta 664 mężczyzna 835 kobieta 15 mężczyzna 21 kobieta 1 mężczyzna 3 kobieta 414 mężczyzna 424 kobieta 22 mężczyzna 25 kobieta 2 mężczyzna 1 kobieta 7 mężczyzna 6 kobieta 5 mężczyzna 2 mężczyzna 1 kobieta 1 kobieta 4 mężczyzna 8 kobieta 33 mężczyzna 19 kobieta 2 mężczyzna 4 kobieta 2 mężczyzna 4 kobieta 4717 mężczyzna 5354 kobieta 10 mężczyzna 8 30 wierszy zostało wybranych. 2. Przekształć powyższy wynik w taki sposób, aby wyliczenia liczby studentów w poszczególnych miastach pojawiły się w dwóch kolumnach: jednej dla kobiet, drugiej dla mężczyzn (użyj klauzuli PIVOT). WOJEWODZTWO KOBIETY MĘŻCZYŹNI -------------------- ---------- ---------dolnośląskie 664 835 kujawsko-pomorskie 15 21 lubelskie 1 3 lubuskie 414 424 łódzkie 22 25 małopolskie 2 1 mazowieckie 7 6 opolskie 5 2 podkarpackie 0 1 podlaskie 1 0 pomorskie 4 8 śląskie 33 19 świętokrzyskie 2 4 warmińsko-mazurskie 2 4 wielkopolskie 4717 5354 zachodniopomorskie 10 8 16 wierszy zostało wybranych. 3. Zbuduj zapytanie, które tym razem pokaże w kolejnych kolumnach, osobno dla kobiet i mężczyzn, średnie ocen uzyskane przez studentów studiujących na poszczególnych kierunkach. NAZWA ----------------------------------------------------Edukacja artystyczna (stacjonarne) Ekonomia (niestacjonarne) Ekonomia (stacjonarne) Elektrotechnika (niestacjonarne) Elektrotechnika (stacjonarne) Mechanika i budowa maszyn (niestacjonarne) Mechanika i budowa maszyn (stacjonarne) Pedagogika (niestacjonarne) Pedagogika (stacjonarne) Rolnictwo (niestacjonarne) Rolnictwo (stacjonarne) Turystyka i rekreacja (niestacjonarne) Turystyka i rekreacja (stacjonarne) Wychowanie fizyczne (niestacjonarne) Wychowanie fizyczne (stacjonarne) Wychowanie fizyczne z edukacją zdrowotną (niestacj.) 16 wierszy zostało wybranych. KOBIETY MĘŻCZYŹNI ----------- ----------4.445957744 4.163516746 3.799152805 3.504716981 4.016284726 3.789754747 3.342261905 3.390331945 3.587494274 3.459372679 3.741071429 3.333156548 3.665413534 3.624449788 4.118371003 3.902774944 4.332478849 4.049184594 3.675432643 3.294193967 3.702042067 3.54335086 3.816392752 3.57127557 4.082119777 3.690390173 3.655733362 3.439785264 3.8018696 3.519458491 3.871533923 3.726317348 4. Przekształć zapytanie z punktu 3. w taki sposób, aby średnie ocen były prezentowane z dokładnością do dwóch miejsc po przecinku. NAZWA KOBIETY MĘŻCZYŹNI ----------------------------------------------------- ---------- ---------Edukacja artystyczna (stacjonarne) 4.45 4.16 Ekonomia (niestacjonarne) 3.8 3.5 Ekonomia (stacjonarne) 4.02 3.79 Elektrotechnika (niestacjonarne) 3.34 3.39 Elektrotechnika (stacjonarne) 3.59 3.46 Mechanika i budowa maszyn (niestacjonarne) 3.74 3.33 Mechanika i budowa maszyn (stacjonarne) 3.67 3.62 Pedagogika (niestacjonarne) 4.12 3.9 Pedagogika (stacjonarne) 4.33 4.05 Rolnictwo (niestacjonarne) 3.68 3.29 Rolnictwo (stacjonarne) 3.7 3.54 Turystyka i rekreacja (niestacjonarne) 3.82 3.57 Turystyka i rekreacja (stacjonarne) 4.08 3.69 Wychowanie fizyczne (niestacjonarne) 3.66 3.44 Wychowanie fizyczne (stacjonarne) 3.8 3.52 Wychowanie fizyczne z edukacją zdrowotną (niestacjonarne) 3.87 3.73 16 wierszy zostało wybranych. 5. Z zapytania z punktu 4. utwórz perspektywę o nazwie SREDNIE_PIVOT. Sprawdź, jakie dane udostępnia perspektywa. create view SREDNIE_PIVOT as select ... Perspektywa została utworzona. select * from SREDNIE_PIVOT; ... 6. Zbuduj zapytanie z klauzulą UNPIVOT, które przekształci dane perspektywy SREDNIE_PIVOT do układu wierszowego. NAZWA ------------------------------------------------Edukacja artystyczna (stacjonarne) Edukacja artystyczna (stacjonarne) Ekonomia (niestacjonarne) Ekonomia (niestacjonarne) Ekonomia (stacjonarne) Ekonomia (stacjonarne) Elektrotechnika (niestacjonarne) Elektrotechnika (niestacjonarne) Elektrotechnika (stacjonarne) Elektrotechnika (stacjonarne) Mechanika i budowa maszyn (niestacjonarne) Mechanika i budowa maszyn (niestacjonarne) Mechanika i budowa maszyn (stacjonarne) Mechanika i budowa maszyn (stacjonarne) Pedagogika (niestacjonarne) Pedagogika (niestacjonarne) Pedagogika (stacjonarne) Pedagogika (stacjonarne) Rolnictwo (niestacjonarne) Rolnictwo (niestacjonarne) Rolnictwo (stacjonarne) Rolnictwo (stacjonarne) Turystyka i rekreacja (niestacjonarne) Turystyka i rekreacja (niestacjonarne) Turystyka i rekreacja (stacjonarne) Turystyka i rekreacja (stacjonarne) Wychowanie fizyczne (niestacjonarne) Wychowanie fizyczne (niestacjonarne) Wychowanie fizyczne (stacjonarne) Wychowanie fizyczne (stacjonarne) Wychowanie fizyczne z edukacją zdrowotną (niest.) Wychowanie fizyczne z edukacją zdrowotną (niest.) 32 wierszy zostało wybranych. PLEC LICZBA_STUDENTOW --------- ---------------kobieta 4.45 mężczyzna 4.16 kobieta 3.8 mężczyzna 3.5 kobieta 4.02 mężczyzna 3.79 kobieta 3.34 mężczyzna 3.39 kobieta 3.59 mężczyzna 3.46 kobieta 3.74 mężczyzna 3.33 kobieta 3.67 mężczyzna 3.62 kobieta 4.12 mężczyzna 3.9 kobieta 4.33 mężczyzna 4.05 kobieta 3.68 mężczyzna 3.29 kobieta 3.7 mężczyzna 3.54 kobieta 3.82 mężczyzna 3.57 kobieta 4.08 mężczyzna 3.69 kobieta 3.66 mężczyzna 3.44 kobieta 3.8 mężczyzna 3.52 kobieta 3.87 mężczyzna 3.73