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