Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.