Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- create table pracownicy (NR_PRAC int NOT NULL);
- alter table pracownicy add NAZWISKO char(15);
- alter table pracownicy add PLEC char(1) NOT NULL;
- alter table pracownicy add DATA_UR datetime;
- alter table pracownicy add NR_ZESP smallint;
- create table zespoly (NR_ZESP smallint NOT NULL);
- alter table zespoly add NAZWA_ZESP char(30) NOT NULL;
- alter table zespoly add NR_PRAC_KZ int;
- create table tematy (NR_TEM int NOT NULL primary key, DATA_ROZP datetime, DATA_ODB datetime, NR_PRAC_KT int, TEMAT char(30) NOT NULL);
- alter table pracownicy add primary key(NR_PRAC);
- alter table zespoly add primary key(NR_ZESP);
- alter table pracownicy add foreign key(NR_ZESP) references zespoly(NR_ZESP) on delete SET NULL;
- create table wyplaty (NR_PRAC int NOT NULL, NR_TEM int NOT NULL, DATA_NALICZ datetime NOT NULL, DATA_WYPL datetime, KWOTA decimal(10, 1) NOT NULL);
- insert into PRACOWNICY values (1,'MAREK','M','1991-11-06',5);
- insert into PRACOWNICY values (2,'JAREK','M','1992-11-06',4);
- insert into PRACOWNICY values (3,'DAREK','M','1993-01-06',3);
- insert into PRACOWNICY values (4,'JUREK','M','1982-01-02',2);
- insert into PRACOWNICY values (5,'WALDEK','M','1932-01-02',1);
- insert into pracownicy values (6,'ANDRZEJ','M','1722-12-01',1);
- insert into pracownicy values (7,'KRYSTYNA','K','1977-11-01',1);
- insert into pracownicy values (8,'JADZIA','K','1947-12-04',2);
- insert into pracownicy values (9,'MADZIA','K','1966-12-23',2);
- insert into pracownicy values (10,'JÓZEK','M','2017-12-23',2);
- insert into pracownicy values (11,'RYSZARD','M','2007-11-23',3);
- insert into pracownicy values (12,'KRZYSZTOF','M','2000-02-22',3)
- insert into zespoly values(1,'ALBATROSY', 1);
- insert into zespoly values(2,'ŁOSIE', 2);
- insert into zespoly values(3,'WIEWIÓRY', 3);
- insert into zespoly values(4,'SANDACZE', 4);
- insert into zespoly values(5,'ŁOSOSIE', 5);
- insert into tematy values (1,'2018-01-02','2018-01-01',1,matma)
- insert into tematy values (2,'2018-01-03','2018-01-02',2,infa)
- insert into tematy values (3,'2018-01-04','2018-01-03',3,przyroda)
- insert into tematy values (4,'2018-01-05','2018-01-04',4,geografia)
- insert into tematy values (5,'2018-01-06','2018-01-05',5,historia)
- insert into tematy values (6,'2018-01-08','2018-01-09',6,polski)
- insert into wyplaty values(1,1,'2018-02-01','2018-02-02',100)
- insert into wyplaty values(2,2,'2018-02-02','2018-02-03',200)
- insert into wyplaty values(3,3,'2018-02-03','2018-02-04',300)
- insert into wyplaty values(4,4,'2018-02-04','2018-02-05',400)
- insert into wyplaty values(5,5,'2018-02-05','2018-02-06',500)
- insert into wyplaty values (5,2,'2018-02-03','2018-02-04',650);
- insert into wyplaty values (6,4,'2018-02-04','2018-02-05',750);
- insert into wyplaty values (7,2,'2018-02-05','2018-02-06',1000);
- insert into wyplaty values (8,5,'2018-02-06','2018-02-07',1100);
- insert into wyplaty values (9,2,'2018-02-07','2018-02-08',30);
- insert into wyplaty values (10,3,'2018-02-08','2018-02-09',300);
- insert into wyplaty values (11,3,'2018-02-09','2018-02-10',450);
- insert into wyplaty values (12,3,'2018-02-10','2018-02-11',4650);
- 1.select TEMAT from tematy where NR_TEM = 6
- 2.select NAZWISKO, z.nazwa_zesp from pracownicy p join zespoly z on p.NR_ZESP = z.NR_ZESP
- select NAZWISKO, z.nazwa_zesp from pracownicy p, zespoly z where p.NR_ZESP = z.NR_ZESP
- 3.select p.NAZWISKO from pracownicy p, wyplaty w where p.NR_ZESP = 3 and w.KWOTA > 100
- 4.select NAZWISKO from pracownicy p JOIN zespoly z ON p.NR_ZESP = z.NR_ZESP
- where p.NR_ZESP = (select NR_ZESP from pracownicy where NAZWISKO='ANDRZEJ')
- 5.select temat from tematy where nr_prac_kt=(select nr_prac from pracownicy where nazwisko = 'andrzej')
- 6.SELECT nazwisko FROM pracownicy WHERE NAZWISKO LIKE 'A%'
- 7.select distinct NAZWA_ZESP from zespoly, pracownicy, wyplaty where wyplaty.NR_PRAC = pracownicy.NR_PRAC and wyplaty.kwota > 0
- 8.select p.NAZWISKO, w.NR_PRAC, avg(kwota) from wyplaty w join pracownicy p
- on w.NR_PRAC = p.NR_PRAC group by w.NR_PRAC, p.NAZWISKO
- 9.select z.nazwa_zesp from zespoly z
- join pracownicy p on z.nr_zesp = p.nr_zesp
- join wyplaty w on p.nr_prac = w.nr_prac
- group by z.nazwa_zesp having sum(w.kwota)>500
- 10.select p.nazwisko, sum(w.kwota) from pracownicy p join wyplaty w on w.nr_prac = p.nr_prac group by p.nazwisko having sum(w.kwota) >
- (select sum(w.kwota) from wyplaty w join pracownicy p on w.nr_prac = p.nr_prac where p.nazwisko = 'MISIURA')
- 11.select z.nazwa_zesp,
- count(p.nr_prac) as 'liczba członków'
- from zespoly z join pracownicy p
- on z.nr_zesp = p.nr_zesp
- group by z.nazwa_zesp order by 2 desc
- 12.select distinct z.nazwa_zesp from zespoly z join pracownicy p on z.nr_zesp = p.nr_zesp where p.plec = 'M'
- and z.nr_zesp not in (select z.nr_zesp from pracownicy p join zespoly z on p.nr_zesp = z.nr_zesp where p.plec='K')
- 13. select p.nazwisko, p.data_ur, z.nazwa_zesp from zespoly z join pracownicy p
- on p.nr_zesp = z.nr_zesp where p.plec = 'M' and z.nazwa_zesp = 'OPROGRAMOWANIE'
- AND p.data_ur >
- all(select p.data_ur from pracownicy p join zespoly z on p.nr_zesp = z.nr_zesp where z.nazwa_zesp = 'BUDOWA')
- 14. 14. select p.nr_zesp,z.nazwa_zesp,p.nazwisko from zespoly z join pracownicy p on
- z.nr_zesp = p.nr_zesp where data_ur = (select max(p1.data_ur) from pracownicy p1 where p.nr_zesp = p1.nr_zesp)
- 15.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement