Kurasz Arkadiusz ST L4 CW3

background image

POLITECHNIKA OPOLSKA

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI

BAZY DANYCH I

LABORATORIUM

Kierunek
studiów:

Informatyka

Rok studiów:

III

Numer grupy:

L4

Rok akademicki: 2012/2013

Semestr:

V

Temat:

Ćwiczenie 3

Lp.

Nr indeksu

Imię i nazwisko

1.

78202

Kurasz Arkadiusz

Termin zajęć:

Prowadzący:

dzień:

Wtorek

mgr inż. Alina Stefanowska-Kędzia

godzina:

10:05

background image

POLITECHNIKA OPOLSKA

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI

strona 1

Zad. 1.
Znaleźć pracowników, którzy mają zarobki wyższe niż najwyższe zarobki w zespole
INFORMATYKA.

Zapytanie:

select * from prac where placa_pod >

(select max(placa_pod) from prac p where p.id_zesp =

(select id_zesp from zesp where nazwa = 'INFORMATYKA'));


Wynik zapytania:

ID_PRAC NAZWISKO ETAT SZEF ZATRUDNIONY PLACA_POD PLACA_DOD ID_ZESP
------- --------------- ---------- ---- ----------- --------- --------- -------
110 BABACKI PROFESOR 100 01-MAY-73 3350 210 40
120 CABACKI PROFESOR 100 01-SEP-77 3070 30

Zad. 2.
Wyświetlić zespoły, które nie zatrudniają pracowników stosując podzapytanie.

Zapytanie:

select * from zesp where id_zesp not in

(select id_zesp from prac group by id_zesp);

Zapytanie bez użycia
podzapytania, ale z użyciem
operatora połączenia
zewnętrznego:

select z.* from zesp z, prac p
where z.id_zesp = p.id_zesp(+) and p.id_zesp is null;


Wynik zapytania:

ID_ZESP NAZWA ADRES
------- -------------------- --------------------
50 ELEKTROTECHNIKA LUBOSZYCKA 9









Zad. 3.
Wyświetlić numery zespołów zatrudniających więcej niż 3 pracowników.

Zapytanie:

select id_zesp, count(*) "LICZBA PRACOWNIKÓW" from prac group by id_zesp having count(*) > 3;

background image

POLITECHNIKA OPOLSKA

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI

strona 2

Wynik zapytania:

ID_ZESP LICZBA PRACOWNIKÓW
------- ------------------
30 4
20 7

Zad.4.
Wykorzystując grupowanie krotek sprawdzić, czy wszystkie numery pracowników sa unikalne.

Zapytanie:

select id_prac from prac group by id_prac having count(*) > 1;


Wynik zapytania:

no rows selected

Komentarz:
Po zgrupowaniu wg id_prac, zliczamy liczebność tych grup i wybieramy tylko te, których
liczebność jest większa od 1. Nie wybrano żadnych rekordów, co oznacza, że każde id_prac
jest unikalne.


Zad.5.
Wyświetlić najniższą płacę podstawową pracowników w grupie każdego przełożonego.
Pominąć grupy, w których minimalne płace podstawowe są niższe od 1000. Wyniki
uporządkować wg rosnących zarobków.


Zapytanie:

select szef, min(placa_pod) "NAJNIŻSZA PŁACA PODSTAWOWA"
from prac group by szef
having min(placa_pod) > 1000
order by min(placa_pod) asc;


Wynik zapytania:

SZEF NAJNIZSZA PLACA PODSTAWOWA
---- --------------------------
140 1208
130 1250
100 1410.2
110 1480
120 1480
2730

6 rows selected



background image

POLITECHNIKA OPOLSKA

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI

strona 3

Zad.6.
Bez korzystania z podzapytania skorelowanego wyświetlić najkrócej zatrudnionych
pracowników każdego zespołu. Wyniki uszeregować w kolejności zatrudnienia.

Zapytanie:

select id_zesp, nazwisko "NAJKRÓCEJ ZATRUDNIONY", zatrudniony from prac
where zatrudniony in
(select max(zatrudniony) from prac group by id_zesp) order by zatrudniony;


Wynik zapytania:

ID_ZESP NAJKRÓCEJ ZATRUDNIONY ZATRUDNIONY
------- --------------------- -----------
40 BABACKI 01-MAY-73
10 JOTBACKA 20-FEB-85
20 MABACKI 01-OCT-93
30 KABACKI 15-JUL-94


Zad. 7.
Wyświetlić pracowników zarabiających najmniej w ramach swoich grup etatowych. Wyniki
uszeregować w malejącym porządku zarobków. Wykorzystać podzapytanie skorelowane.

Zapytanie:

select * from prac p
where placa_pod = (select min(placa_pod) from prac where etat = p.etat)
order by placa_pod desc;


Wynik zapytania:

ID_PRAC NAZWISKO ETAT SZEF ZATRUDNIONY PLACA_POD PLACA_DOD ID_ZESP
------- --------------- ---------- ---- ----------- --------- --------- -------
140 EBACKI PROFESOR 130 15-SEP-75 2830 105 20
100 ABACKI DYREKTOR 01-JAN-68 2730 420.5 10
160 GABACKI ADIUNKT 130 01-MAR-85 1590 20
180 JOTBACKA SEKRETARKA 100 20-FEB-85 1410.2 10
190 IBACKI ASYSTENT 140 01-SEP-93 1371 20
200 KABACKI STAZYSTA 140 15-JUL-94 1208 30

6 rows selected

background image

POLITECHNIKA OPOLSKA

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI

strona 4

Zad. 8.
Wyświetl pracowników, którzy nie mają szefa, wypisując dodatkowo tekst 'brak szefa'.

Zapytanie:

select rpad(nazwisko, length(nazwisko) + length('brak szefa '), ' brak szefa') "PRACOWNIK"
from prac
where szef is null;


Wynik zapytania:

PRACOWNIK
--------------------
ABACKI brak szefa

Zad. 9.
Wyświetlić w poniższej formie informacje o wszystkich pracownikach

Pracownik i jego etat
--------------------------------------------------------
BABACKI********&&&&&&&&ADIUNKT


Zapytanie:

select
rpad(nazwisko, length(nazwisko) + length(etat) + 16,
lpad(etat, length(etat) + 16, '********&&&&&&&&'))

"PRACOWNIK I JEGO ETAT"

from prac;


Wynik zapytania:

PRACOWNIK I JEGO ETAT
-----------------------------------
ABACKI********&&&&&&&&DYREKTOR
BABACKI********&&&&&&&&PROFESOR
CABACKI********&&&&&&&&PROFESOR
DABACKI********&&&&&&&&PROFESOR
EBACKI********&&&&&&&&PROFESOR
FABACKI********&&&&&&&&ADIUNKT
GABACKI********&&&&&&&&ADIUNKT
HABACKI********&&&&&&&&ASYSTENT
IBACKI********&&&&&&&&ASYSTENT
JOTBACKA********&&&&&&&&SEKRETARKA
KABACKI********&&&&&&&&STAZYSTA
LABACKI********&&&&&&&&STAZYSTA
MABACKI********&&&&&&&&ASYSTENT
NABACKI********&&&&&&&&ASYSTENT

14 rows selected


Ten sam wynik możemy uzyskać dużo łatwiej – wykorzystując funkcję concat, która nie była
podana w materiałach.

background image

POLITECHNIKA OPOLSKA

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI

strona 5

Zapytanie:

select concat(concat(nazwisko,'********&&&&&&&&'), etat) "PRACOWNIK I JEGO ETAT" from prac;



Zad. 10.
Wyświetlić nazwiska pracowników oraz ich kod złożony z dwóch pierwszych liter nazwiska
i

numeru pracownika zawartego w atrybucie id_prac w następujący sposób:

NAZWISKO

KOD

-----------------------------
ABACKI

AB1010


Zapytanie:

select nazwisko,

rpad(substr(nazwisko, 0, 2), 6, substr(id_prac, 0, 2))

"KOD"

from prac;


Wynik zapytania:

NAZWISKO KOD
--------------- ------
ABACKI AB1010
BABACKI BA1111
CABACKI CA1212
DABACKI DA1313
EBACKI EB1414
FABACKI FA1515
GABACKI GA1616
HABACKI HA1717
IBACKI IB1919
JOTBACKA JO1818
KABACKI KA2020
LABACKI LA2121
MABACKI MA2222
NABACKI NA2323

14 rows selected


Wyszukiwarka

Podobne podstrony:
Kurasz Arkadiusz ST L4 CW2
Kurasz Arkadiusz ST L4 CW4
Kurasz Arkadiusz ST L4 CW6
Kurasz Arkadiusz ST L4 CW9
Kurasz Arkadiusz ST L4 CW8
cw3 mat st
cw3stud
MT st w 06
cukry cz 2 st
Szacowanie zasobów st
Żywienie sztuczne niem St
ch zwyrodnieniowa st
Zaj III Karta statystyczna NOT st
PREZENTACJA 6 badanie ST WSISIZ
BUD»ET PAĐSTWA
PG cw3
FARMAKOLOGIA WYKŁAD III RAT MED ST
MT st w 02a

więcej podobnych podstron