Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Język SQL – przypomnienie

Podobne prezentacje


Prezentacja na temat: "Język SQL – przypomnienie"— Zapis prezentacji:

1 Język SQL – przypomnienie
Bazy i hurtownie danych, TWO1, 2010 dbdw-winter_ /

2 Bazy i hurtownie danych
Tworzenie tabel Uruchomić SQL Management Studio SQL Server Authentication User: student (sa) Password: student Utworzyć nową bazę danych (np. bihd) Uruchomić skrypt CreateDB.sql Uwaga: jako aktywną należy wybrać bazę danych utworzoną w kroku 2 21/11/2010 Bazy i hurtownie danych

3 Bazy i hurtownie danych
Utworzone tabele 21/11/2010 Bazy i hurtownie danych

4 Bazy i hurtownie danych
Utworzone tabele 21/11/2010 Bazy i hurtownie danych

5 Bazy i hurtownie danych
Zadanie 1 Wyświetl nazwy etatów i sumaryczne zarobki (z uwzględnieniem płacy dodatkowej) pracowników zatrudnionych na tych etatach. 21/11/2010 Bazy i hurtownie danych

6 Bazy i hurtownie danych
Zadanie 1 - Rozwiązanie COALESCE zapewnia taką samą funkcjonalność jak ISNULL, jednak jest zgodna ze standardem ANSI (tzn. będzie działała w innych bazach danych), podczas gdy ISNULL jest specyficzne dla T-SQL (MS SQL). SELECT ETAT, SUM(PLACA_POD + COALESCE(PLACA_DOD, 0)) AS MIESIECZNE_ZAROBKI FROM PRACOWNICY GROUP BY ETAT 21/11/2010 Bazy i hurtownie danych

7 Bazy i hurtownie danych
Zadanie 2 Wyświetl według malejącej płacy podstawowej nazwiska i daty zatrudnienia wszystkich asystentów zatrudnionych w Instytucie. Jeśli kilku pracowników ma te same zarobki, to niech będą oni wyświetlani w porządku alfabetycznym. 21/11/2010 Bazy i hurtownie danych

8 Bazy i hurtownie danych
Zadanie 2 - Rozwiązanie SELECT NAZWISKO, ZATRUDNIONY, PLACA_POD FROM PRACOWNICY WHERE ETAT = 'ASYSTENT' ORDER BY PLACA_POD DESC, NAZWISKO 21/11/2010 Bazy i hurtownie danych

9 Bazy i hurtownie danych
Zadanie 3 Wyświetl nazwiska i identyfikatory pracowników zatrudnionych w zespole nr 20, których nazwiska zaczynają się na literę 'M' lub kończą się na 'SKI'. 21/11/2010 Bazy i hurtownie danych

10 Bazy i hurtownie danych
Zadanie 3 - Rozwiązanie SELECT NAZWISKO, ID_PRAC, ID_ZESP FROM PRACOWNICY WHERE ID_ZESP = 20 AND (NAZWISKO LIKE 'M%' OR NAZWISKO LIKE '%SKI') 21/11/2010 Bazy i hurtownie danych

11 Bazy i hurtownie danych
Zadanie 4 Wyświetl liczbę wszystkich profesorów zatrudnionych w Instytucie. 21/11/2010 Bazy i hurtownie danych

12 Bazy i hurtownie danych
Zadanie 4 - Rozwiązanie SELECT COUNT(ID_PRAC) AS LICZBA_PROFESOROW FROM PRACOWNICY WHERE ETAT = 'PROFESOR' 21/11/2010 Bazy i hurtownie danych

13 Bazy i hurtownie danych
Zadanie 5 Dla każdego pracownika wyświetl pensję (płaca podstawowa) najgorzej zarabiającego podwładnego. 21/11/2010 Bazy i hurtownie danych

14 Bazy i hurtownie danych
Zadanie 5 - Rozwiązanie SELECT ID_SZEFA, MIN(PLACA_POD) AS PLACA_MINIMALNA FROM PRACOWNICY WHERE ID_SZEFA IS NOT NULL GROUP BY ID_SZEFA 21/11/2010 Bazy i hurtownie danych

15 Bazy i hurtownie danych
Zadanie 6 Wyświetl średnie pensje wypłacane w ramach poszczególnych etatów i liczbę pracowników zatrudnionych na danym etacie. Pomiń pracowników zatrudnionych po 21/11/2010 Bazy i hurtownie danych

16 Bazy i hurtownie danych
Zadanie 6 - Rozwiązanie SELECT ETAT, AVG(PLACA_POD) AS SREDNIA_PLACA, COUNT(ID_PRAC) AS LICZBA_PRACOWNIKOW FROM PRACOWNICY WHERE ZATRUDNIONY < ' ' GROUP BY ETAT 21/11/2010 Bazy i hurtownie danych

17 Bazy i hurtownie danych
Zadanie 7 Wyświetl w porządku alfabetycznym nazwiska wszystkich pracowników z ulicy PIOTROWO 3A. 21/11/2010 Bazy i hurtownie danych

18 Bazy i hurtownie danych
Zadanie 7 - Rozwiązanie SELECT P.NAZWISKO, Z.ADRES FROM PRACOWNICY P INNER JOIN ZESPOLY Z ON P.ID_ZESP = Z.ID_ZESP WHERE Z.ADRES = 'PIOTROWO 3A' ORDER BY P.NAZWISKO 21/11/2010 Bazy i hurtownie danych

19 Bazy i hurtownie danych
Zadanie 8 Wyświetl nazwiska, etaty i pensje podstawowe pracowników, których rzeczywiste zarobki (pensje podstawowe) odpowiadają widełkom płacowym przewidzianym dla sekretarek. 21/11/2010 Bazy i hurtownie danych

20 Bazy i hurtownie danych
Zadanie 8 - Rozwiązanie SELECT P.NAZWISKO, P.ETAT, P.PLACA_POD, E.NAZWA, E.PLACA_MIN, E.PLACA_MAX FROM PRACOWNICY P, ETATY E WHERE E.NAZWA = 'SEKRETARKA' AND P.PLACA_POD BETWEEN E.PLACA_MIN AND E.PLACA_MAX 21/11/2010 Bazy i hurtownie danych

21 Bazy i hurtownie danych
Zadanie 9 Wyświetl numer zespołu, który nie zatrudnia żadnych pracowników. 21/11/2010 Bazy i hurtownie danych

22 Bazy i hurtownie danych
Zadanie 9 - Rozwiązanie SELECT Z.ID_ZESP FROM ZESPOLY Z WHERE NOT EXISTS ( SELECT P.ID_PRAC FROM PRACOWNICY P WHERE P.ID_ZESP = Z.ID_ZESP ) 21/11/2010 Bazy i hurtownie danych

23 Bazy i hurtownie danych
Zadanie 10 Wyświetl nazwy i numery zespołów (oraz łączną liczbę pracowników), które zatrudniają więcej niż 3 pracowników. 21/11/2010 Bazy i hurtownie danych

24 Bazy i hurtownie danych
Zadanie 10 - Rozwiązanie SELECT Z.NAZWA, Z.ID_ZESP, COUNT(P.ID_PRAC) AS LICZBA_PRACOWNIKOW FROM ZESPOLY Z INNER JOIN PRACOWNICY P ON P.ID_ZESP = Z.ID_ZESP GROUP BY Z.NAZWA, Z.ID_ZESP HAVING COUNT(P.ID_PRAC) > 3 21/11/2010 Bazy i hurtownie danych

25 Bazy i hurtownie danych
Zadanie 11 Wyświetl w odwrotnej alfabetycznej kolejności nazwiska i etaty pracowników pracujących w tym samym zespole, co pracownik o nazwisku Brzezinski. 21/11/2010 Bazy i hurtownie danych

26 Bazy i hurtownie danych
Zadanie 11 - Rozwiązanie SELECT P1.NAZWISKO, P1.ETAT FROM PRACOWNICY P1 WHERE P1.ID_ZESP IN ( SELECT P2.ID_ZESP FROM PRACOWNICY P2 WHERE P2.NAZWISKO = 'BRZEZINSKI') ORDER BY P1.NAZWISKO DESC 21/11/2010 Bazy i hurtownie danych

27 Bazy i hurtownie danych
Zadanie 12 W ramach każdego zespołu, dla każdego etatu wyświetl najwyższą płacę podstawową. 21/11/2010 Bazy i hurtownie danych

28 Bazy i hurtownie danych
Zadanie 12 - Rozwiązanie SELECT ID_ZESP, ETAT, MAX(PLACA_POD) AS MAKSYMALNA_PLACA FROM PRACOWNICY GROUP BY ID_ZESP, ETAT ORDER BY ID_ZESP, ETAT 21/11/2010 Bazy i hurtownie danych

29 Bazy i hurtownie danych
Zadanie 13 Wyświetl numer zespołu, którego pracownicy sumarycznie zarabiają najwięcej (weź pod uwagę tylko placę podstawową). 21/11/2010 Bazy i hurtownie danych

30 Bazy i hurtownie danych
Zadanie 13 - Rozwiązanie SELECT TOP 1 ID_ZESP, SUM(PLACA_POD) AS LACZNA_PLACA FROM PRACOWNICY GROUP BY ID_ZESP ORDER BY LACZNA_PLACA DESC SELECT P1.ID_ZESP, SUM(P1.PLACA_POD) AS LACZNA_PLACA FROM PRACOWNICY P1 HAVING NOT EXISTS ( SELECT P2.ID_ZESP FROM PRACOWNICY P2 GROUP BY P2.ID_ZESP HAVING SUM(P2.PLACA_POD) > SUM(P1.PLACA_POD)) 21/11/2010 Bazy i hurtownie danych


Pobierz ppt "Język SQL – przypomnienie"

Podobne prezentacje


Reklamy Google