You are on page 1of 2

ZADANIA BD1 CWICZENIE SQL1(V2) ZESTAW A,

---------------------------------------------------

1.Podać nazwę tematu o numerze 5

SELECT T.TEMAT
FROM TEMATY T
WHERE NR_TEM=5

2.Podać nazwiska pracowników zaczynające się od litery K

SELECT NAZWISKO
FROM PRACOWNICY
WHERE NAZWISKO LIKE 'K%'

3.Podać nazwy tematów, których kierownikiem jest pracownik MISIURA

SELECT TEMAT
FROM TEMATY T, PRACOWNICY P
WHERE P.NR_PRAC=T.NR_PRAC_KT AND P.NAZWISKO='MISIURA'

4.Podać daty wypłat, które otrzymały kobiety urodzone przed 1970 rokiem według daty
wypłaty.
SELECT W.DATA_WYPL
FROM WYPLATY W, PRACOWNICY P
WHERE P.PLEC='K' AND W.DATA_WYPL<'1990-01-01' AND P.NR_PRAC=W.NR_PRAC
ORDER BY W.DATA_WYPL DESC
/* W POLECENIU NIE MA NAPISANE CZY MALEJĄCO/ROSNĄCO. WYSTARCZY ZAMIENIC DESC NA ASC
W OSTATNIM WIERSZU

5.Podać wszystkie funkcje, które pełni pracownik MISIURA.

SELECT DISTINCT F.NAZWA_FUNKCJI


FROM PRACOWNICY P, FUNKCJE F, PRZYDZIALY PR
WHERE P.NAZWISKO='MISIURA' AND P.NR_PRAC=PR.NR_PRAC AND
F.KOD_FUNKCJI=PR.KOD_FUNKCJI

6.Podać w odwrotnej kolejności alfabetycznej nazwiska pracowników mężczyzn,


którzy przydzieleni są do tematu DYSK lub tematu GUPTA.

SELECT NAZWISKO
FROM PRACOWNICY P, TEMATY T, PRZYDZIALY PRZ
WHERE (TEMAT='GUPTA' OR TEMAT='GUPTA') AND PLEC='M' AND PRZ.NR_PRAC=P.NR_PRAC AND
PRZ.NR_TEM=T.NR_TEM
ORDER BY NAZWISKO DESC

7.Podać wszystkie funkcje pełnione przez pracowników w tematach,


które rozpoczęły się i zostały odebrane przed rokiem 1990. Każda funkcja powinna
pojawić się tylko raz

SELECT DISTINCT NAZWA_FUNKCJI


FROM FUNKCJE F, PRACOWNICY P, TEMATY T
WHERE T.DATA_ROZP<'1990-01-01' AND T.DATA_ODB<'1990-01-01'

8.Podać nazwy tematów i nazwy ich tematów nadrzędnych.

SELECT P.TEMAT AS 'PODRZĘDNE',N.TEMAT AS 'NADRZĘDNE'


FROM TEMATY N LEFT OUTER JOIN TEMATY P
ON N.NR_TEM=P.NR_TEM_NADRZ

9.Podać ile przydziałów ma pracownik MISIURA.

SELECT COUNT(PR.NR_TEM)
FROM PRACOWNICY P, PRZYDZIALY PR
WHERE P.NAZWISKO='MISIURA' AND P.NR_PRAC=PR.NR_PRAC

10.Podać sumę wszystkich wypłat w temacie DYSK.

11.Podać średnią wypłatę wszystkich pracowników będących kierownikami tematów.

12.Podać ilość i sumę wypłat w poszczególnych tematach.

SELECT T.NR_TEM, COUNT(W.KWOTA), SUM(W.KWOTA)


FROM TEMATY T, WYPLATY W
WHERE T.NR_TEM=W.NR_TEM
GROUP BY T.NR_TEM

13.Podać średnie wypłaty dla każdego pracownika.

14.Podać daty urodzenia najstarszych pracowników przydzielonych do każdej z


funkcji.

15.Podać wszystkie tematy w których są przydziały do funkcji Tester i ilość tych


przydziałów.

16.Podać wszystkie tematy dla których suma wypłat jest mniejsza od 400.

17.Podać nazwiska wszystkich pracowników, którzy są przydzieleni do więcej niż 5


różnych tematów.

18.Podać tematy, których data rozpoczęcia jest wcześniejsza niż data rozpoczęcia
tematu DYSK.

19.Podać nazwiska pracowników, których suma wypłat jest większa niż suma wypłat
pracownika MISIURY.

20.Podać tematy do których przydzielono więcej pracowników niż do tematu DYSK

You might also like