Zapytania modyfikujące dane (aktualizujące, tworzące tabele

advertisement
Projektowanie baz danych – ćwiczenia 2
SQL część 1.
Z folderu sieciowego WSB\Prace\PBD\Cw2 skopiuj do swojego folderu bazę firma.mdb .
Poniższe zadania należy wykonać budując odpowiednie zapytanie w języku SQL. Wszystkie
przykłady dotyczą różnych wariantów instrukcji SELECT. Wskazane jest wykorzystanie
materiału z Wykładu 1.
MS Access umożliwia budowanie zapytań bezpośrednio w języku SQL. Dotychczas
używaliśmy tylko siatki projektowej QBE. Aby rozpocząć tworzenie zapytania SQL w MS
Access’ie w oknie bazy danych wybierz kwerendy, następnie Nowy | Widok projektu, teraz nie
wybieramy żadnych tabel, a następnie menu Widok | Widok SQL albo Kwerenda | Wyłącznie
SQL | Definiująca dane. Pojawi się prosty edytor, w którym możemy tworzyć zapytania w
SQL’u
Poniższe zadania staraj się wykonać pisząc odpowiednie zdania języka SQL. Jeżeli masz
problem, to możesz skorzystać z siatki projektowej QBE – ale potem zawsze przeanalizuj
zapytanie w widoku SQL
Zadanie 1
Wyświetl zestawienie, w którym znajdą się wszystkie pola tabeli Pracownicy tych
pracowników, którzy mają stawkę powyżej 1500 zł. oraz tych zatrudnionych przed 01-011990.
Wsk. Stałe typu datowego zapisujemy w Access’ie przy pomocy symbolu #
(np. #12-10-2002#)
Zadanie 2
Wyświetl dane osób, które w polu Miejscowość mają wpisy „Kraków”, „Myślenice” i
„Wieliczka”. Podaj dwa rozwiązania: używając operatora OR (alternatywa) oraz bez operatora
OR.
Zadanie 3
Wyświetl osoby, które mają prawo jazdy, ale nie mają telefonu (tzn. pole telefon jest nie
uzupełnione).
Wsk. Wykorzystaj wartość NULL
Zadanie 4
Załóżmy, że w tabeli Pracownicy jest pole [Nr urzędu] (oznacza numer urzędu skarbowego,
do którego przesyłane są zaliczki na podatek). Napisz w SQL zapytanie, które wyświetli sumę
kwot zaliczek na podatek (liczonych wg uproszczonego wzoru 0,2*Stawka) wysyłanych
do każdego urzędu skarbowego. Należy również wyświetlić dla każdego urzędu skarbowego
średnią wartość zaliczki.
Zadanie 5 (grupowanie i HAVING)
Pamiętaj, że warunek z klauzuli HAVING jest używany dopiero po tym jak grupy zostaną
utworzone i funkcje agregujące wykonane. Wypisz te kody działów, w których
a) liczba pracowników jest większa niż 6.
b) średnia stawka jest niższa niż 1000 zł.
1
Projektowanie baz danych – ćwiczenia 2
Zadanie 6 (grupowanie i HAVING i WHERE)
Zmodyfikuj rozwiązanie poprzedniego zadania a i b tak, by w obliczeniach średniej stawki
oraz liczby pracowników byli brani pod uwagę tylko ci pracownicy, którzy mają prawo jazdy.
Zadanie 7 (zagnieżdżone)
Znajdź miejscowości, z których pracownicy mają średnią stawkę (liczoną dla wszystkich
pracowników z tej miejscowości) mniejszą niż średnia stawka w całej firmie.
Zadanie 8 (zagnieżdżone, odwołanie dwukrotne do tej samej tabeli).
Znajdź pracowników, którzy mają średnią stawkę wyższą niż średnia stawka w miejscowości,
z której pochodzą.
Zadanie 9
Znajdź pracowników, którzy pracują najdłużej w swoich działach.
Zadanie 10 (zagnieżdżone)
Wypisz nazwiska i imiona pracowników, którzy co najmniej raz byli na zwolnieniu.
Zadanie 11
Wypisz nazwiska i imiona osób, które dzisiaj nie brały zwolnienia chorobowego.
a) podaj rozwiązanie z zagnieżdżonym SELECT
b) podaj rozwiązanie, w którym nie ma zagnieżdżonego SELECT (trudniejsze)
Zadanie 12 (zagnieżdżone bardziej złożone)
Wypisz nazwiska i imiona pracowników, którzy byli najmniej razy na zwolnieniu, ale jednak
byli co najmniej raz.
Zadanie 13 (zagnieżdżone bardziej złożone)
Wypisz nazwiska i imiona pracowników, którzy byli najmniej razy na zwolnieniu (jeśli są
tacy, którzy nie byli ani razu, to właśnie oni powinni być wypisani).
2
Download