CW4CD, Studia, bazy danych


  1. wszystkich przełożonych i nazwy zespołów, w których pracują,

create or replace view PRZELOZENI

as select nazwisko, nazwa from prac, zesp

where szef in (select id_prac from prac) and prac.id_zesp=zesp.ID_ZESP

create or succeeded.

b) listę etatów (bez duplikatów) na których zatrudnieni są pracownicy uczelni,

CREATE OR REPLACE VIEW LISTA_ETATOW AS SELECT DISTINCT ETAT FROM PRAC

CREATE OR succeeded.

c) wszystkie dane o pracownikach zespołów 30 i 40 w kolejności malejących zarobków,

CREATE OR REPLACE VIEW ZESP3040 AS SELECT * FROM PRAC WHERE ID_ZESP=30 OR ID_ZESP=40 ORDER BY PLACA_POD DESC

d) nazwiska, daty zatrudnienia i etaty asystentów zatrudnionych w 1992 lub 1993 roku,

CREATE OR REPLACE VIEW ETATY_ASYSTENOW AS SELECT NAZWISKO,ZATRUDNIONY,ETAT FROM PRAC WHERE ZATRUDNIONY>to_date('31-12-91','dd-mm-rr') AND ZATRUDNIONY <to_date('01-01-94','dd-mm-rr')

e) nazwiska i płace pracowników powiększone o 15% i zaokrąglone do liczb całkowitych,

CREATE OR REPLACE VIEW PLACA15 AS SELECT NAZWISKO,CEIL(PLACA_POD*1.15)AS "Placa" FROM PRAC

f) wyświetlającą dla każdego szefa jego podwładnych,

CREATE or replace VIEW Szef

AS SELECT p.id_prac id_p, p.nazwisko podwladny, s.id_prac id_s, s.nazwisko szef

FROM prac p , prac s where p.szef=s.id_prac;

g) wyświetlającą jaki mamy dziś dzień tygodnia,

create or replace view dzientygodnia

as select distinct to_char (current_timestamp, 'day') as dzien_tygodnia from prac ;

h)dla każdego pracownika - informację o tym, czy jego pensja jest mniejsza niż, równa lub większa niż 2480 złotych,

create or replace view pensja2480

as select nazwisko, placa_pod,

CASE

WHEN placa_pod < 2480 THEN '< 2480 zł'

WHEN placa_pod = 2480 THEN '= 2480 zł'

WHEN placa_pod > 2480 THEN '> 2480 zł'

END

as pensja

FROM prac;

i) najniższą pensję na uczelni,

create view najnizsza_pensja

as select nazwisko, placa_pod

from prac

where placa_pod=(select min(placa_pod) from prac);

j) najwyższą pensję w każdym zespole,

create or replace view najwyzsza_zespoly

as SELECT id_zesp , max(placa_pod) max_placa

FROM prac GROUP BY id_zesp;

k) informację o kwocie różnicy dzielącej najlepiej i najgorzej zarabiających pracowników,

create or replace view roznica

as SELECT MIN(placa_pod) as minimumm, MAX(placa_pod) as maksimum,

MAX(placa_pod)- MIN(placa_pod) as roznica FROM prac;

l) średnie pensje dla wszystkich etatów,

create or replace view srednia_etat

as SELECT etat, AVG(placa_pod) as średnia FROM prac

GROUP BY etat ORDER BY AVG(placa_pod);

ł) średnie pensje dla wszystkich zespołów,

create or replace view srednia_zespol

as SELECT id_zesp , avg(placa_pod) srednia_placa

FROM prac GROUP BY id_zesp;

m) liczbę profesorów zatrudnionych w każdym z zespołów,

create or replace view profesorowie_zespol

as SELECT id_zesp, COUNT(*) as profesorowie FROM prac

WHERE etat = 'PROFESOR' group by id_zesp;

n) numery zespołów, które zatrudniają więcej niż 3 pracowników.

create or replace view zesp_3

as SELECT id_zesp, COUNT(*) as liczba FROM prac

WHERE id_zesp is not null GROUP BY id_zesp HAVING COUNT(*) > 3;

o) dla każdego szefa - pensję najgorzej zarabiającego jego podwładnego.

create or replace view szef_podwladny_min

as SELECT szef, MIN(placa_pod) as min_pracownika

FROM prac

GROUP BY szef;



Wyszukiwarka

Podobne podstrony:
cw4 08 stud, Studia, bazy danych, LABORATORIUM I-SZY STOP
cw8 1 03stud, Studia, bazy danych, LABORATORIUM I-SZY STOP
cw 10 03, Studia, bazy danych, LABORATORIUM I-SZY STOP
cw8 03stud, Studia, bazy danych, LABORATORIUM I-SZY STOP
BD gr D, Studia, Bazy danych, Wszystkie zestawy na BD
POLU CW1, Studia, bazy danych
cw 11 03, Studia, bazy danych, LABORATORIUM I-SZY STOP
Polu cw2, Studia, bazy danych
cw6 1 08, Studia, bazy danych, LABORATORIUM I-SZY STOP
cw6 08 stud, Studia, bazy danych, LABORATORIUM I-SZY STOP
ssciaga, Studia PŚK informatyka, Semestr 4, Bazy Danych 2, Bazy Danych Zaliczenie Wykladu, Bazy Dany
Bazy Danych, STUDIA, SEMESTR III, Bazy Danych, Wykład

więcej podobnych podstron