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.