1. Przykładowe pytania z SQL
Transkrypt
1. Przykładowe pytania z SQL
2005/2006 - PRZYKŁADOWE PYTANIA NA ZALICZENIE „PODSTAWY BAZ DANYCH” -1- 1. Przykładowe pytania z SQL 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Wybrać wszystkie dane osób o nazwisku zawierającym wewnątrz literę a. Wyznaczyć dane osobowe osób, które w nazwisku posiadają na drugie pozycji literę o. Wybrać dane osobowe i w miejsce brakującego drugiego imienia wpisać tekst ‘brak’. Wybrać różne nazwiska i wyświetlić je dużymi literami. Wypisać różne nazwiska z tabeli Osoby wyrównane do prawej strony (20 znaków). Wypisać różne drugie litery z nazwiska w tabeli Osoby. Wybrać dane osobowe osób, których nazwiska wpisane są małymi literami. Wybrać id,nazwisko,imie1, pleć tak, aby zamiast ‘K’ wyświetlało ‘kobieta, a zamiast ‘M’ ‘mężczyzna’. Wybrać id,nazwisko,imie1 oraz aktualną pensję. Wyświetlić dane osobowe wszystkich osób zatrudnionych nie posiadających aktualnej pensji. Wybrać wszystkie dane osób zatrudnionych aktualnie pracujące wraz z nazwą wydziału. Wybrać wszystkie dane osób zatrudnionych na wydziale fizyka już niepracujących. Wybrać dane osobowe osób urodzonych po 1/01/1990 roku. Wybrać dane osób posiadających aktualną pensję między 1500 i 2000 zł. 15. Skasować relacje Autorzy i Tytuly bez ważności kolejności kasowania. Utworzyć dwie relacje Autorzy(id, nazwisko, imie) i Tytuly(id,tytul,id_os) z kluczami głównymi na atrybutach id, kluczem obcym na id_os i wszystkimi atrybutami wymagalnymi. Dla atrybutu nazwisko musi być ustawiony warunek, aby wprowadzana wartość miała pierwszą literę dużą a pozostałe małe. Wstawić po jednym rekordzie do każdej relacji. 16. Skasować relacje Aktorzy i Filmy bez ważności kolejności kasowania. Utworzyć dwie relacje Aktorzy(id, nazwisko, imie) i Filmy(id,tytul,id_ak) z kluczami głównymi na atrybutach id, kluczem obcym na id_ak i wszystkimi atrybutami wymagalnymi. Dla atrybutu tytul musi być ustawiony warunek, aby wprowadzana wartość miała wszystkie litery duże. Wstawić po jednym rekordzie do każdej relacji. 17. Wybrać osoby aktualnie pracujące uporządkowane według atrybutów plec i nazwisko oraz wyświetlić w postaci: DANE Duda Barbara ................... PLEĆ kobieta ............... 18. Wyznaczyć średnią ilości dni pracy aktualnych pracowników na poszczególnych wydziałach i wyświetlić w postaci: NAZWA fizyka ....... ŚREDNIA 1152 ........ 19. Wyznaczyć średnią pensję aktualnie pracujących na każdym wydziale i wyświetlić w postaci: NAZWA fizyka ........ ŚREDNIA 2400 .............. 20. Na którym wydziale pracuje aktualnie najwięcej osób i wyświetlić w postaci: NAZWA fizyka matematyka ILOSC 3 3 21. Wybrać najstarszą osobę aktualnie pracującą i wyświetlić w postaci: DANE Duda Barbara 22. Utworzyć widok(perspektywę) Aktualna_pensja(nazwisko,imie1,pensja)dla osób aktualnie zatrudnionych. NAZWISKO kot ........ IMIE1 Adam ....... PENSJA 1300 ....... 23. Wybrać osoby, które nie otrzymały jeszcze podwyżki i wyświetlić w postaci: ID 2 ......... DANE kot Adam ...... 24. Wyświetlić wszystkie dane osób, które posiadają nazwisko podane przez zmienną lokalną (bez względu na wielkość liter). ID 3 NAZWISKO norek IMIE1 Tadeusz IMIE2 D_UR 1982/10/23 P M 2005/2006 - PRZYKŁADOWE PYTANIA NA ZALICZENIE „PODSTAWY BAZ DANYCH” -2- 25. Wyświetlić dane wszystkich wydziałów, które wewnątrz nazwy zawierają literę 'a'. ID 1 ... NAZWA prawo ..... SZEF 7 .... 26. Wybrać osoby już niepracujące uporządkowane według atrybutów nazwisko i imie1 oraz wyświetlić w postaci: DANE Kowalska Ewa ......... UWAGA Nie pracuje ............ 27. Wyznaczyć średnią wieku (w pełnych dniach) aktualnie pracujących pracowników dla każdej płci i wyświetlić w postaci: P K M ŚREDNIA 8873 7956 28. Wyznaczyć średnią pensję aktualnie pracujących według płci i wyświetlić w postaci: P K M ŚREDNIA 2275 1600 29. Na którym wydziale pracuje aktualnie najmniej osób i wyświetlić w postaci: NAZWA prawo ILOSC 2 30. Wybrać najmłodszą osobę już niepracującą i wyświetlić w postaci: DANE lis Jan 31. Utworzyć widok(perspektywę) Aktualny_wydzial(nazwisko,imie1,nazwa)dla osób aktualnie zatrudnionych. NAZWISKO kot .... IMIE1 Adam .... NAZWA matematyka ..... 32. Wybrać osoby, które miały już podwyżki i wyświetlić w postaci: ID 3 ...... DANE norek Tadeusz ......... 33. Wyświetlić dane wszystkich wydziałów, które posiadają nazwę podaną przez zmienną globalną (bez względu na wielkość liter). ID 1 NAZWA prawo SZEF 7 34. Wyświetlić dane wszystkich osób, które urodziły się po 01.01.1983 roku. ID 8 9 NAZWISKO Duda .... IMIE1 Barbara .... IMIE2 D_UR 1984/12/20 .... P K K 35. Wyświetlić dane wszystkich wydziałów, które wewnątrz nazwy zawierają literę 'i'. ID 1 ... NAZWA prawo ..... SZEF 7 .... 36. Wyznaczyć średnią pensję aktualnie pracujących na każdym wydziale i wyświetlić w postaci: NAZWA fizyka ........ ŚREDNIA 2400 .............. 37. Wybrać najstarszą osobę aktualnie pracującą i wyświetlić w postaci: DANE Duda Barbara 38. Wybrać osoby aktualnie pracujące uporządkowane według atrybutów plec i nazwisko oraz wyświetlić w postaci: DANE Duda Barbara ................... PLEĆ kobieta ............... 39. Wyznaczyć średnią ilości dni pracy aktualnych pracowników na poszczególnych wydziałach i wyświetlić w postaci: NAZWA fizyka ....... ŚREDNIA 1152 ........ 2005/2006 - PRZYKŁADOWE PYTANIA NA ZALICZENIE „PODSTAWY BAZ DANYCH” -3- 40. Wyświetlić wszystkie dane osób, które posiadają nazwisko podane przez zmienną lokalną (bez względu na wielkość liter). ID 3 NAZWISKO norek IMIE1 Tadeusz IMIE2 D_UR 1982/10/23 P M 41. Na którym wydziale pracuje aktualnie najwięcej osób i wyświetlić w postaci: NAZWA fizyka matematyka ILOSC 3 3 42. Utworzyć widok(perspektywę) Aktualna_pensja(nazwisko,imie1,pensja)dla osób aktualnie zatrudnionych. NAZWISKO kot ........ IMIE1 Adam ....... PENSJA 1300 ....... 43. Wybrać osoby, które nie otrzymały jeszcze podwyżki i wyświetlić w postaci: ID 2 ......... DANE kot Adam ...... 44. Wyznaczyć średnią pensję aktualnie pracujących według płci i wyświetlić w postaci: P K M ŚREDNIA 2275 1600 45. Wybrać najmłodszą osobę już niepracującą i wyświetlić w postaci: DANE lis Jan 46. Wybrać osoby już niepracujące uporządkowane według atrybutów nazwisko i imie1 oraz wyświetlić w postaci: DANE Kowalska Ewa ......... UWAGA Nie pracuje ............ 47. Wyświetlić dane wszystkich osób, które urodziły się po 01.01.1983 roku. ID 8 9 NAZWISKO Duda .... IMIE1 Barbara .... IMIE2 D_UR 1984/12/20 .... P K K 48. Wyznaczyć średnią wieku (w pełnych dniach) aktualnie pracujących pracowników dla każdej płci i wyświetlić w postaci: P K M ŚREDNIA 8873 7956 49. Na którym wydziale pracuje aktualnie najmniej osób i wyświetlić w postaci: NAZWA prawo ILOSC 2 50. Utworzyć widok(perspektywę) Aktualny_wydzial(nazwisko,imie1,nazwa)dla osób aktualnie zatrudnionych. NAZWISKO kot .... IMIE1 Adam .... NAZWA matematyka ..... 51. Wybrać osoby, które miały już podwyżki i wyświetlić w postaci: ID 3 ...... DANE norek Tadeusz ......... 52. Wyświetlić dane wszystkich wydziałów, które posiadają nazwę podaną przez zmienną globalną (bez względu na wielkość liter). ID 1 ... NAZWA prawo ..... SZEF 7 .... 53. Wyznaczyć dane osobowe szefa mającego największą aktualną pensję i wyświetlić w postaci: DANE Lis Anna PENSJA 2275 2005/2006 - PRZYKŁADOWE PYTANIA NA ZALICZENIE „PODSTAWY BAZ DANYCH” -4- 54. Wybrać osoby posiadające aktualną pensję większą od pensji swojego szefa i wyświetlić w postaci: DANE Duda Barbara ................... PENSJA 1234 ............... 55. Wyznaczyć wydział, na którym suma pensji jest największa i wyświetlić w postaci: NAZWA fizyka ....... SUMA 2450 ........ 56. Wyznaczyć dane osobowe najstarszej kobiety i najstarszego mężczyzny aktualnie pracujących i wyświetlić w postaci: DANE Lis Anna ........ 57. Na którym wydziale pracuje aktualnie najwięcej kobiet i wyświetlić w postaci: NAZWA fizyka matematyka ILOSC 2 2 58. Wybrać wydział, który ma najstarszego szefa aktualnie pracującego i wyświetlić w postaci: NAZWA fizyka ........ 59. Utworzyć widok(perspektywę) Aktualny_szef(nazwisko,imie1,wydzial). NAZWISKO kot ........ IMIE1 Adam ....... WYDZIAL fizyka ....... 60. Wybrać osoby, które otrzymały podwyżki i wyświetlić w postaci: ID 2 ......... DANE kot Adam ...... 61. Wyświetlić wszystkie dane osób, które posiadają najkrótsze nazwisko . ID 3 NAZWISKO norek IMIE1 Tadeusz IMIE2 D_UR 1982/10/23 P M 62. Wyświetlić dane wszystkich wydziałów, które zatrudniają najwięcej osób. ID 1 ... NAZWA prawo ..... ILOSC 7 .... 63. Wyznaczyć wydział, na którym suma pensji jest największa i wyświetlić w postaci: NAZWA fizyka ....... SUMA 2450 ........ 64. Wyznaczyć dane osobowe szefa mającego największą aktualną pensję i wyświetlić w postaci: DANE Lis Anna PENSJA 2275 65. Wyznaczyć dane osobowe najstarszej kobiety i najstarszego mężczyzny aktualnie pracujących i wyświetlić w postaci: DANE Lis Anna ........ 66. Wyświetlić wszystkie dane osób, które posiadają najkrótsze nazwisko . ID 3 NAZWISKO norek IMIE1 Tadeusz IMIE2 D_UR 1982/10/23 P M 67. Na którym wydziale pracuje aktualnie najwięcej kobiet i wyświetlić w postaci: NAZWA fizyka matematyka ILOSC 2 2 68. Wybrać wydział, który ma najstarszego szefa aktualnie pracującego i wyświetlić w postaci: NAZWA fizyka ........ 2005/2006 - PRZYKŁADOWE PYTANIA NA ZALICZENIE „PODSTAWY BAZ DANYCH” -5- 69. Utworzyć widok(perspektywę) Aktualny_szef(nazwisko,imie1,wydzial). NAZWISKO kot ........ IMIE1 Adam ....... WYDZIAL fizyka ....... 70. Wybrać osoby, które otrzymały podwyżki i wyświetlić w postaci: ID 2 ......... DANE kot Adam ...... 71. Wyświetlić dane wszystkich wydziałów, które zatrudniają najwięcej osób. ID 1 ... NAZWA prawo ..... ILOSC 7 .... 72. Wybrać osoby posiadające aktualną pensję większą od pensji swojego szefa i wyświetlić w postaci: DANE Duda Barbara ................... PENSJA 1234 ............... 2. Dodatkowe pytania z SQL na zaliczenie 1. Utworzyć widok zmaterializowany vz_dane z wszystkimi wymaganymi obiektami odświeżany co 1 godzinę w sposób szybki zawierający wszystkie dane osobowe osób aktualnie pracujących i ilość dni jakie upłynęły do chwili obecnej od daty obecnego zatrudnienia. 2. Utworzyć widok zmaterializowany vz_dane z wszystkimi wymaganymi obiektami odświeżany co 1 godzinę w sposób kompletny zawierający wszystkie dane osobowe osób aktualnie pracujących i ilość dni jakie upłynęły do chwili obecnej od daty przyznania aktualnej pensji. 3. Utworzyć klaster k_dochody o atrybucie rok i tabelę dochody(id, rok, kwota) z kluczem głównym na id i wszystkimi atrybutami wymaganymi na klastrze k_dochody. 4. Utworzyć tabelę straty(id, rok, kwota) z kluczem głównym na id i wszystkimi atrybutami wymaganymi partycjonowaną BY RANGE(rok) z trzema partycjami zawierającymi odpowiednio krotki z wartościami atrybutu rok do 2004, do 2005 oraz pozostałe. 5. Utworzyć wyzwalacz, który będzie się uruchamiać przed operacją INSERT na tabeli wydzialy(id,nazwa) wstawiający wartość z licznika licznik_w do pola id i kontrolujący wartość atrybutu nazwa tak, aby była wpisana dużymi literami.