laboratorium 1
Transkrypt
laboratorium 1
---------------------------------------------------------------------LABORATORIUM 1 -----------------------------------------------------------------------1. Składnia polecenia SELECT --2. Wybierz wszystko z tabeli studenci. --3. Pokaż atrybuty tabeli studenci. --4. Wybierz nazwiska i imiona z tabeli studenci. --5. Pokaż atrybuty tabeli pracownicy. --6. Podaj nazwiska pracowników i ich płacę. --7. Podaj nazwiska i wartość dniówek pracowników. --8. Podaj nazwiska i roczną płacę pracowników. --9. Dodaj aliasy do poprzednich dwóch zapytań. --10. Wypisz w postaci jednego łańcucha nazwisko pracownika i w jakim pracuje dziale. --11. Pokaż, które roczniki studentów wprowadzone są do tabeli studenci (bez powtórzeń). --12. Wyświetl nazwiska, imiona i rok studentów. Uporządkuj dane według rocznika, grupy, nazwiska, według różnych porządków. --13. Wyświetl dane studentów z roku 3 i grupy 2. --14. Wyświetl dane studentów, którzy nie podali imienia ojca. --15. Wyświetl nazwiska, imiona i roczniki studentów z lat: 3, 4, 5 (warunek zbuduj na kilka sposobów). --16. Wyświetl imiona i nazwiska studentek znajdujących się w tabeli student + policzyć ile ich jest. --17. Wyświetl imiona i nazwiska studentów znajdujących się w tabeli student + policzyć ile ich jest. ; --18. Wyświetl dane wszystkich Marków, Maciejów i Marcinów. --19. Wyświetl marki samochodów ciężarowych znajdujących się w tabeli pojazdy. --20. Wyświetl dane OLSZEWSKICH z tablicy studenci. --21. Wyświetl imiona studentów, które alfabetycznie mieszczą się w przedziale alfabetycznym od MA... do NO... . ---------------------------------------------------------------------LABORATORIUM 2 -----------------------------------------------------------------------1. Ile studentek jest wpisanych do tabeli studenci? --2. Ilu studentów jest wpisanych do tabeli studenci? --3. Wyświetl dane Olszewskich z tablicy studenci. --4. Wykonaj zadanie 3 korzystając z funkcji Lower(). --5. Ile jest różnych imion, a ile ogółem studentów w tablicy studenci? ----------------FUNKCJE NA TEKSTACH------------------------------------6. Podaj imiona i nazwiska studentów w postaci pojedynczych łańcuchów. --7. Wyświetl pierwsze 3 litery nazwisk studentów z roku 3. --8. Wyświetl ostatnie 2 litery nazwisk studentów z roku 3. --9. Wykonaj zadanie 8 korzystając z funkcji Length(). --10. Wyświetl nazwiska studentów tak, by pierwsza litera była duża, a pozostałe małe. --11. Zademonstruj działanie funkcji Ltrim() i Rtrim(). --12. Wyświetl te nazwiska studentów z roku trzeciego, których długość przekracza 6 znaków. Uporządkuj wynik od najdłuższego nazwiska do najkrótszego i w kolejności alfabetycznej. --13. Zademonstruj działanie funkcji Instr() --14. Wypisz imiona studentów oraz podaj pozycję, na której w ich imieniu występuje po raz pierwszy litera A. Uporządkuj według drugiego wyrażenia. --15. Zamień końcówkę nazwiska 'SKA' na 'SKI' używając funkcji Replace(), a następnie Trim(). --16. Wykorzystując funkcje Rpad() i Lpad() wypisz nazwiska studentów poprzedzone i zakończone pięcioma gwiazdkami. --17. Wypisz imiona studentów zawierające na trzeciej pozycji literę A budując warunek selekcji na trzy sposoby. ----------------FUNKCJE MATEMATYCZNE---------------------------------18. Wyświetl nazwiska, płacę podstawową i dodatkową pracowników tam gdzie jej nie ma wpisując 0. --19. Podaj sumaryczną płacę pracowników (zaobserwuj wpływ wartości NULL na wynik). --20. O jaką kwotę odbiegają zarobki pracowników od średniej krajowej wynoszącej 3215.75 PLN. ---------------------------------------------------------------------LABORATORIUM 3 -------------------------------------------------------------------------------------FUNKCJE MATEMATYCZNE---------------------------------1. Wyświetl nazwiska, płacę podstawową i dodatkową pracowników, tam gdzie jej nie ma wpisując 0. --2. Podaj sumaryczną płacę pracowników (zaobserwuj wpływ wartości NULL na wynik). --3. O jaką kwotę odbiegają zarobki pracowników od średniej krajowej wynoszącej 3215.75 PLN? --4. Zaokrągl powyższy wynik do 1 miejsca po przecinku używając funkcji Round() i Trunc(). --5. Zaokrągl powyższy wynik do dziesiątek używając funkcji Round() i Trunc(). --6. Wylicz wartość wyrażenia 123.34*16, wylicz z niego pierwiastek, a następnie przetestuj na nim działanie funkcji Sqrt, Round, Trunc, Ceil i Floor. ----------------FUNKCJE OPERUJACE NA DATACH--------------------------7. Wyświetl aktualną datę i czas. --8. Wyświetl przedział 10 lat i 10 miesięcy; 10 dni, 10 godzin, 10 minut, 10 sekund i 10/100 sekundy; oraz znacznik czasowy obejmujący łącznie oba te przedziały. --9. Jaka data będzie za 100 dni, a jaka była 100 dni temu? --10. Jaka data będzie za 10 lat, 10 miesięcy, 10 lat i 10 miesięcy? --11. Wyświetl datę i czas jaki będzie za 10 dni, 10 godzin i 10 minut. --12. Wyświetl przedział czasowy występuj±cy pomiędzy dwoma znacznikami czasowymi. (przedział dni do sekund ) (przedział lat do miesięcy) --13. Wyświetl aktualny rok i aktualną sekundę. --14. Jaka data będzie za 7 miesięcy? --15. Jaki będzie ostatni dzień tego miesiąca? --16. Obetnij i zaokrągl aktualną datę, co do miesięcy. --17. Wyświetl nazwisko, imię oraz wiek studentów z r 3, gr2, porządkując dane według wieku i nazwisk. ---------------FUNKCJE KONWERTUJACE----------------------------------18. Konwertuj aktualny znacznik czasowy do daty. --19. Konwertuj konkatenację łańcuchów '12' i '123' na liczbę i odejmij od niej 1. --20. Wyświetl napis '12 malp' używając cyfr rzymskich. --21. Wyświetl datę w innym formacie niż domyślny (zmień separatory, miesiące na liczby rzymskie itp.) --22. Wyświetl aktualne stulecie. --23. Wyświetl aktualne stulecie cyframi rzymskimi. --24. Wyświetl dzisiejszą datę w postaci: wtorek, 21 października 2008 roku. --25. Wyświetl jaki dzień tygodnia będzie ostatniego dnia tego miesiąca. --26. Wyświetl ile miesięcy minęło od '20-01-04'. --27. Wyświetl jaki dzień tygodnia i który kwartał roku był '1-09-1939'. --28. Podaj Ilu studentów urodziło się w niedzielę. ---------------------------------------------------------------------LABORATORIUM 4 -----------------------------------------------------------------------------------POZOSTALE FUNKCJE----------------------------------------1. Wyświetl nazwiska, stanowiska, place podstawową oraz dodatkową pracowników, jeżeli któsnie otrzymuje dodatku wyświetl 0. Użyj funkcji Nvl oraz Decode. --2. Wyświetl nazwę i identyfikator swojego konta. -------------------GRUPOWANIE I FUNKCJE AGREGUJACE--------------------3. Podaj ilu studentów jest wpisanych do bazy. --4. Ile wynosi minimalna płaca w tabeli pracownicy? --5. Podaj ilu studentów jest wpisanych do bazy z każdego roku studiów. --6. Podaj ilu pracowników pracuje w każdym dziale. --7. Podaj ilu studentów na każdym roku urodziło się w maju. --8. Podaj ile nazwisk studentów zaczyna się na poszczególne litery alfabetu --9. Podaj daty urodzenia najstarszych studentów z każdego roku. --10. Ilu studentów urodziło się każdego dnia tygodnia? --11. Ile wynosi najdłuższa długość nazwiska na każdym roku? --12. Ile pieniędzy każdy dział wydaje miesięcznie na pracowników.? --13. Podaj typy samochodów oraz ich maksymalną, średnią i minimalną pojemność, ale tylko dla tych typów, których średnia pojemność jest większa od 1500. --14. Podaj liczebność poszczególnych grup dziekańskich na każdym roku studiów, na kierunku informatyka, ogranicz wyświetlane wyniki do grup posiadających powyżej 30 studentów. --15. Ile jest samochodów każdej marki w każdym typie? --16. Podaj ilu studentów urodziło się każdego roku, w każdym miesiącu. --17.Ilu pracowników zatrudnia każdy dział, na każdym etacie? --18. Znajdź minimalną sumę płac pracowników w poszczególnych działach. --------------ROZSZERZENIE GRUPOWANIA-----------------------------------19. Ilu jest studentów na każdym roku, w każdej grupie? Użyj rozszerzeń grupowania: Rollup, Cube, Grouping Sets. --20. Do powyższego zapytania użyj funkcji Grouping by pokazać, który atrybut został "zwinięty". --21. Używając Grouping Sets oraz funkcji Decode i Grouping, utwórz zestawienie liczebności grup dziekańskich, lat oraz wszystkich studentów, w miejsca pustych pól wstawiając odpowiednie komentarze "wszystkie lata", "wszystkie grupy". ---------------------------------------------------------------------LABORATORIUM 5 ----------------------------------------------------------------------------------------OPERATORY ZBIOROWE---------------------------------------------------------SUMA----------------------------------------------1. Wybierz nazwisko i place pracownika, oraz dodaj komentarz, czy pracownik zarabia powyżej, poniżej czy równo z średnią krajową, (ponownie z operatorem CASE). ---------------------ROZNICA-----------------------------------------------2. Podaj identyfikator działu, który nie zatrudnia pracowników. --------------------PRZECIECIE---------------------------------------------3. Podaj wspólne stanowiska dla działu 20 i 30. ---------------------------ZLACZENIA-----------------------------------DESC dzialy; DESC stanowiska; SELECT * FROM pracownicy; SELECT * FROM dzialy; SELECT * FROM stanowiska; -----------------------ILOCZYN KARTEZJANSKI------------------------------4. Dokonaj złączenia na tablicach działy i pracownicy. -----------------------ZLACZENIA ROWNOSCIOWE-----------------------------5. Dokonaj ponownego złączenia tym razem dla warunku równości pól przechowujących identyfikator działu. --6. Wypisz pracowników, nazwy działów w jakich pracują, oraz jakie są siedziby ich zespołów. --7. Podaj nazwy działów oraz ilu pracowników w nich pracuje. --8. Podaj identyfikatory i nazwy działów oraz kwotę jaką miesięcznie poświęcają na wszystkie płace. -----------------------ZLACZENIE NATURALNE-------------------------------9. Wyświetl wszystkie dane z tablic pracownicy i działy wykorzystując złączenie naturalne. --10. Wyświetl nazwy i minimalne płace w działach (wykorzystaj złączenie naturalne). -----------------------ZLACZENIA ZEWNETRZNE------------------------------11. Wyświetl nazwiska pracowników, w jakich działach pracują i na jakich stanowiskach. Przetestuj na zapytaniu złączenia zewnętrzne. -----------------------ZLACZENIA NIEROWNOSCIOWE--------------------------12. Wyświetl nazwiska pracowników ich stanowiska i place, oraz w jakich widełkach placowych innych stanowisk mieści się ich płaca. -----------------------SAMOZLACZENIE-------------------------------------13. Wyświetl nazwiska pracowników, a obok nazwiska ich kierowników. --14. Do powyższego zapytania dołącz także tych, którzy nie mają szefów. --------------------ZLACZENIA WIELU TABEL----------------------------------15. Podaj nazwiska, nazwę działu, place, oraz minimalna i maksymalna place jaka może zarobić pracownik na swoim stanowisku, jednakże tylko dla tych stanowisk, dla których płaca minimalna jest większa niż 1500PLN, a płaca maksymalna mniejsza niż 3500PLN. ---------------------------------------------------------------------LABORATORIUM 6 ----------------------------------------------------------------------------------------PODZAPYTANIA-------------------------------------------------- na liście wyrażeń------------------------------------1. Podaj nazwisko pracownika, jego place, oraz ile wynosi różnica miedzy jego płacą a średnią płacą w firmie. --2. Ile lat minęło miedzy zatrudnieniem pierwszego i ostatniego pracownika. -------------- w klauzuli FROM --------------------------------------------3. Podaj nazwiska pracowników i średnią płacę w ich działach. -------------- w klauzuli WHERE -------------------------------------------4. Podaj nazwisko, stanowisko i płacę pracownika, który zarabia najmniej. --5. Podaj nazwiska, stanowiska i płace pracowników, którzy zarabiają poniżej średniej w firmie. --6. Wypisz dane osób z grupy studenta o nazwisku podanym parametrem. --7. Podaj nazwiska i płace pracowników, którzy zarabiają więcej niż którykolwiek pracownik z działu 30. --8. Podaj nazwiska i płace pracowników, którzy zarabiają więcej niż wszyscy pracownicy z zespołu 30. --9. Wyświetl nazwiska, datę zatrudnienia oraz numery działów pracowników najdłużej pracujących w każdym dziale. Wynik uporządkuj według numerów działów. -------------- w klauzuli HAVING ------------------------------------------10. Który rok jest najliczniejszy pod względem liczby kobiet? --11. W którym kwartale zatrudniono najwięcej pracowników? --12. Od jakiej litery najczęściej rozpoczynają się imiona studentów. --13. Podaj identyfikator i nazwę działu, który wydaje najwięcej na płace. -----------------PODZAPYTANIA SKORELOWANE-------------------------------------14. Wypisz identyfikator działu, nazwisko i płacę pracowników, którzy zarabiają więcej niż wynosi średnia płaca w ich dziale. --15. Wypisz nazwę działu i średnią płacę dla jego pracowników. --16. Wypisz nazwiska, stanowiska, place, staż pracy oraz nazwę działu, pracowników, którzy w danym dziale zarabiają najmniej. --17. Podaj nazwiska szefów. --18. Podaj identyfikator i nazwę działu, który nie zatrudnia pracowników. --19. Wypisz nazwiska studentów, które się powtarzają. --20. Wypisz wszystkich pracowników oprócz tego, który zarabia najmniej. ------------------------------------------------------------------------------------------------------MIX-----------------------------------1. Dla każdego pracownika wyświetl zdanie "Xxxx pracuje na stanowisku: yyyy", gdzie Xxxx to nazwisko pracownika pisane z dużej litery, zaś yyyy to jego stanowisko pisane małymi literami. Otrzymanemu polu nadaj alias opis. --2. Wyświetl nazwisko pracownika i jego roczny dochód, uwzględniając dodatki i prowizje. --3. Wyświetl nazwiska pracowników oraz identyfikatory działów, dla których dodatek funkcyjny jest wyższy niż dziesiąta część ich płacy podstawowej. --4. Wyświetl nazwiska pracowników oraz ile dni minęło od ich zatrudnienia, a także przedział czasowy (lata i miesiące) pokazujący ile pracuje dany pracownik. --5. Czy któryś z pracowników został zatrudniony w niedzielę? --6. Ilu studentów z Twojej grupy zostało wpisanych do bazy? --7. Ilu studentów nosi to samo imię co ojciec? --8. Wyświetl nazwisko pracownika, datę jego zatrudnienia w formacie 'dzień tygodnia, dzień miesiąc rok' oraz płacę w formacie czterech cyfr przed przecinkiem i dwóch po przecinku. Użyj odpowiednich aliasów. --9. Wyświetl nazwiska pracowników, a obok wygenerowany dla nich identyfikator składający się z identyfikatora działu, dwóch liter nazwiska oraz dwóch liter stanowiska, polu nadaj alias ID. --10. Podaj uporządkowane numery działów oraz ile wynosi w każdym z nich średnia płaca, zaokrągl wynik do drugiego miejsca po przecinku. --11. Podaj minimalną i maksymalną płacę pracowników, oraz różnicę między nimi. --12. Wyświetl identyfikatory działów, które zatrudniają więcej niż trzech pracowników. Pomiń pracowników bez przydziału. Wynik uporządkuj wg malejącej liczby pracowników. --13. Wyświetl średnie pensje w ramach poszczególnych stanowisk i liczbę pracowników zatrudnionych na danym stanowisku. Uwzględnij tylko tych pracowników, którzy zostali zatrudnieni od 1990 roku. --14. Dla każdego kierownika wyświetl pensję najgorzej zarabiającego podwładnego oraz ilu ma pod sobą podwładnych. Wynik uporządkuj według malejącej płacy. --15. Sprawdź, które nazwiska na liście studentów się powtarzają i ile razy. --16. Podaj ile jest kobiet na każdym roku studiów, pomiń dane nie zawierające roku, wynik uporządkuj według malejącej liczby studentek. --17. Wyświetl ile jest sztuk samochodów osobowych w każdym kolorze. Pomiń kolor 'NIEUSTALONY'. Wyświetl tylko te kolory, w których występuje więcej niż sto samochodów, uporządkuj wynik według malejącej liczebności. --18.Wyświetl wszystkie kombinacje imion zaczynających się na literę 'E' z imionami zaczynającymi się na literę 'W'. --19.Na jakich stanowiskach zatrudniają pracowników poszczególne działy (podaj nazwy stanowisk i nazwy działów)? --20.Wyświetl nazwiska pracowników i na którym poziomie taryfikatora mieści się ich płaca. --21. Ilu każdy z szefów ma podwładnych. --23. Podaj nazwisko dyrektora, który został zatrudniony najpóźniej spośród dyrektorów. --24. Wyświetl identyfikator działu, nazwisko pracownika, place i kwotę o jaka odbiega jego płaca od średniej płacy w zespole (z dokładnością do dwóch miejsc po przecinku), wynik uporządkuj według identyfikatora działu i odchyłki od średniej. --25. Wypisz nazwiska, imiona i rok studentów, których imię ma średnią długość. --26. Jakiego koloru auta osobowe najchętniej kupują właściciele o imieniu Marianna (kolor nie może być nieustalony).