1 . CREATE TABLE PRAC_KOPIA AS SELECT * FROM PRAC WHERE ETAT='STAZYSTA'

CREATE TABLE succeeded.

2. SELECT DISTINCT ETAT FROM PRAC

ETAT

----------

ADIUNKT

PROFESOR

DYREKTOR

STAZYSTA

ASYSTENT

SEKRETARKA

6 rows selected

3. Wyświetlić pracowników zatrudnionych od 1980 do 1985 roku.

SELECT * FROM PRAC WHERE ZATRUDNIONY BETWEEN to_date('01-01-80','DD-MM-RR') AND to_date('31-12-85','DD-MM-RR')

ID_PRAC NAZWISKO ETAT SZEF ZATRUDNIONY PLACA_POD PLACA_DOD ID_ZESP

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

160 GABACKI ADIUNKT 130 85/03/01 1590 20

180 JOTBACKA SEKRETARKA 100 85/02/20 1410,2 10

2 rows selected

4. Wyświetlić średnią płacę na każdym z etatów.

SELECT ETAT,AVG(PLACA_POD) FROM PRAC GROUP BY ETAT

ETAT AVG(PLACA_POD)

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

ADIUNKT 1617,75

PROFESOR 3052,5

DYREKTOR 2730

STAZYSTA 1229

ASYSTENT 1442,675

SEKRETARKA 1410,2

6 rows selected

  1. Znaleźć etat, na którym zatrudniono pracownika w pierwszej połowie 1984 roku lub w pierwszej połowie 1985

SELECT ETAT FROM PRAC WHERE ZATRUDNIONY BETWEEN to_date('01-01-84','DD-MM-RR') and to_date('15-06-85','DD-MM-RR') or (ZATRUDNIONY BETWEEN to_date('01-01-85','DD-MM-RR') and to_date('15-06-85','DD-MM-RR'))

ETAT

----------

ADIUNKT

SEKRETARKA

2 rows selected

  1. Wyświetlić nazwisko, etat, płacę podstawową pracowników zespołu 10 i 20 zgodnie z alfabetycznym porządkiem nazwisk

SELECT NAZWISKO,ETAT,PLACA_POD FROM PRAC WHERE ID_ZESP=10 OR ID_ZESP=20 ORDER BY NAZWISKO ASC

NAZWISKO ETAT PLACA_POD

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

ABACKI DYREKTOR 2730

DABACKI PROFESOR 2960

EBACKI PROFESOR 2830

FABACKI ADIUNKT 1645,5

GABACKI ADIUNKT 1590

HABACKI ASYSTENT 1439,7

IBACKI ASYSTENT 1371

JOTBACKA SEKRETARKA 1410,2

MABACKI ASYSTENT 1480

9 rows selected

  1. Wyświetlić sumaryczną płacę wszystkich asystentów

SELECT SUM(PLACA_POD) AS "PLACA_SUM" FROM PRAC WHERE ETAT='ASYSTENT'

PLACA_SUM

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

5770,7

1 rows selected

  1. Wyświetlić pracowników, których nazwiska rozpoczynają się od litery M lub P.

SELECT * FROM PRAC WHERE NAZWISKO LIKE 'P%' OR NAZWISKO LIKE 'M%'

ID_PRAC NAZWISKO ETAT SZEF ZATRUDNIONY PLACA_POD PLACA_DOD ID_ZESP

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

220 MABACKI ASYSTENT 110 93/10/01 1480 20

1 rows selected

  1. Wyświetlić posortowane nazwiska pracowników zarabiających od 2000 do 3000

SELECT NAZWISKO FROM PRAC WHERE PLACA_POD BETWEEN 2000 AND 3000 ORDER BY NAZWISKO ASC

NAZWISKO

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

ABACKI

DABACKI

EBACKI

3 rows selected

  1. Wyświetlić nazwiska pracowników, nazwy i adresy zespołów pracowników, których miesięczna pensja przekracza 2000 PLN.

SELECT P.NAZWISKO,Z.NAZWA,Z.ADRES FROM PRAC P, ZESP Z WHERE P.ID_ZESP=Z.ID_ZESP AND P.PLACA_POD > 2000

NAZWISKO NAZWA ADRES

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

ABACKI ADMINISTRACJA MIKOLAJCZYKA 5

BABACKI AUTOMATYKA SOSNKOWSKIEGO 31

CABACKI BUDOWNICTWO KATOWICKA 14

DABACKI INFORMATYKA SOSNKOWSKIEGO 31

EBACKI INFORMATYKA SOSNKOWSKIEGO 31

5 rows selected

11. Wyświetlić pracowników z ulicy Sosnkowskiego w rosnącym porządku alfabetycznym ich nazwisk.

SELECT * FROM PRAC WHERE ID_ZESP=20 OR ID_ZESP=40 ORDER BY NAZWISKO DESC

ID_PRAC NAZWISKO ETAT SZEF ZATRUDNIONY PLACA_POD PLACA_DOD ID_ZESP

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

220 MABACKI ASYSTENT 110 93/10/01 1480 20

190 IBACKI ASYSTENT 140 93/09/01 1371 20

170 HABACKI ASYSTENT 130 92/10/01 1439,7 80,5 20

160 GABACKI ADIUNKT 130 85/03/01 1590 20

150 FABACKI ADIUNKT 130 77/09/01 1645,5 20

140 EBACKI PROFESOR 130 75/09/15 2830 105 20

130 DABACKI PROFESOR 100 68/07/01 2960 20

110 BABACKI PROFESOR 100 73/05/01 3350 210 40

8 rows selected

Zad. 12. Wyświetlić zespoły, które nie zatrudniają pracowników

SELECT ID_ZESP FROM ZESP MINUS SELECT ID_ZESP FROM PRAC

ID_ZESP

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

50

1 rows selected

Zad. 13. Wyświetlić minimalne i maksymalne wynagrodzenie pracowników w poszczególnych grupach etatowych

SELECT NAZWA,PLACA_MIN,PLACA_MAX FROM ETAT

NAZWA PLACA_MIN PLACA_MAX

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

PROFESOR 2800 4500

ADIUNKT 1510 2750

ASYSTENT 1300 1500

STAZYSTA 650 1250

SEKRETARKA 970 1450

DYREKTOR 2280 3100

6 rows selected

Zad. 14. Wyświetlić liczbę profesorów wśród pracowników

SELECT COUNT(ETAT) FROM PRAC WHERE ETAT='PROFESOR'

COUNT(ETAT)

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

4