Advertisement
Guest User

Untitled

a guest
May 25th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.25 KB | None | 0 0
  1.  
  2. create table pracownicy (NR_PRAC int NOT NULL);
  3. alter table pracownicy add NAZWISKO char(15);
  4. alter table pracownicy add PLEC char(1) NOT NULL;
  5. alter table pracownicy add DATA_UR datetime;
  6. alter table pracownicy add NR_ZESP smallint;
  7. create table zespoly (NR_ZESP smallint NOT NULL);
  8. alter table zespoly add NAZWA_ZESP char(30) NOT NULL;
  9. alter table zespoly add NR_PRAC_KZ int;
  10. 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);
  11.  
  12.  
  13. alter table pracownicy add primary key(NR_PRAC);
  14. alter table zespoly add primary key(NR_ZESP);
  15.  
  16. alter table pracownicy add foreign key(NR_ZESP) references zespoly(NR_ZESP) on delete SET NULL;
  17.  
  18. 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);
  19.  
  20.  
  21. insert into PRACOWNICY values (1,'MAREK','M','1991-11-06',5);
  22. insert into PRACOWNICY values (2,'JAREK','M','1992-11-06',4);
  23. insert into PRACOWNICY values (3,'DAREK','M','1993-01-06',3);
  24. insert into PRACOWNICY values (4,'JUREK','M','1982-01-02',2);
  25. insert into PRACOWNICY values (5,'WALDEK','M','1932-01-02',1);
  26. insert into pracownicy values (6,'ANDRZEJ','M','1722-12-01',1);
  27. insert into pracownicy values (7,'KRYSTYNA','K','1977-11-01',1);
  28. insert into pracownicy values (8,'JADZIA','K','1947-12-04',2);
  29. insert into pracownicy values (9,'MADZIA','K','1966-12-23',2);
  30. insert into pracownicy values (10,'JÓZEK','M','2017-12-23',2);
  31. insert into pracownicy values (11,'RYSZARD','M','2007-11-23',3);
  32. insert into pracownicy values (12,'KRZYSZTOF','M','2000-02-22',3)
  33.  
  34.  
  35. insert into zespoly values(1,'ALBATROSY', 1);
  36. insert into zespoly values(2,'ŁOSIE', 2);
  37. insert into zespoly values(3,'WIEWIÓRY', 3);
  38. insert into zespoly values(4,'SANDACZE', 4);
  39. insert into zespoly values(5,'ŁOSOSIE', 5);
  40.  
  41. insert into tematy values (1,'2018-01-02','2018-01-01',1,matma)
  42. insert into tematy values (2,'2018-01-03','2018-01-02',2,infa)
  43. insert into tematy values (3,'2018-01-04','2018-01-03',3,przyroda)
  44. insert into tematy values (4,'2018-01-05','2018-01-04',4,geografia)
  45. insert into tematy values (5,'2018-01-06','2018-01-05',5,historia)
  46. insert into tematy values (6,'2018-01-08','2018-01-09',6,polski)
  47.  
  48. insert into wyplaty values(1,1,'2018-02-01','2018-02-02',100)
  49. insert into wyplaty values(2,2,'2018-02-02','2018-02-03',200)
  50. insert into wyplaty values(3,3,'2018-02-03','2018-02-04',300)
  51. insert into wyplaty values(4,4,'2018-02-04','2018-02-05',400)
  52. insert into wyplaty values(5,5,'2018-02-05','2018-02-06',500)
  53. insert into wyplaty values (5,2,'2018-02-03','2018-02-04',650);
  54. insert into wyplaty values (6,4,'2018-02-04','2018-02-05',750);
  55. insert into wyplaty values (7,2,'2018-02-05','2018-02-06',1000);
  56. insert into wyplaty values (8,5,'2018-02-06','2018-02-07',1100);
  57. insert into wyplaty values (9,2,'2018-02-07','2018-02-08',30);
  58. insert into wyplaty values (10,3,'2018-02-08','2018-02-09',300);
  59. insert into wyplaty values (11,3,'2018-02-09','2018-02-10',450);
  60. insert into wyplaty values (12,3,'2018-02-10','2018-02-11',4650);
  61.  
  62.  
  63. 1.select TEMAT from tematy where NR_TEM = 6
  64. 2.select NAZWISKO, z.nazwa_zesp from pracownicy p join zespoly z on p.NR_ZESP = z.NR_ZESP
  65. select NAZWISKO, z.nazwa_zesp from pracownicy p, zespoly z where p.NR_ZESP = z.NR_ZESP
  66.  
  67. 3.select p.NAZWISKO from pracownicy p, wyplaty w where p.NR_ZESP = 3 and w.KWOTA > 100
  68.  
  69. 4.select NAZWISKO from pracownicy p JOIN zespoly z ON p.NR_ZESP = z.NR_ZESP
  70. where p.NR_ZESP = (select NR_ZESP from pracownicy where NAZWISKO='ANDRZEJ')
  71.  
  72. 5.select temat from tematy where nr_prac_kt=(select nr_prac from pracownicy where nazwisko = 'andrzej')
  73.  
  74. 6.SELECT nazwisko FROM pracownicy WHERE NAZWISKO LIKE 'A%'
  75.  
  76. 7.select distinct NAZWA_ZESP from zespoly, pracownicy, wyplaty where wyplaty.NR_PRAC = pracownicy.NR_PRAC and wyplaty.kwota > 0
  77.  
  78. 8.select p.NAZWISKO, w.NR_PRAC, avg(kwota) from wyplaty w join pracownicy p
  79. on w.NR_PRAC = p.NR_PRAC group by w.NR_PRAC, p.NAZWISKO
  80.  
  81. 9.select z.nazwa_zesp from zespoly z
  82. join pracownicy p on z.nr_zesp = p.nr_zesp
  83. join wyplaty w on p.nr_prac = w.nr_prac
  84. group by z.nazwa_zesp having sum(w.kwota)>500
  85.  
  86. 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) >
  87. (select sum(w.kwota) from wyplaty w join pracownicy p on w.nr_prac = p.nr_prac where p.nazwisko = 'MISIURA')
  88.  
  89. 11.select z.nazwa_zesp,
  90. count(p.nr_prac) as 'liczba członków'
  91. from zespoly z join pracownicy p
  92. on z.nr_zesp = p.nr_zesp
  93. group by z.nazwa_zesp order by 2 desc
  94.  
  95. 12.select distinct z.nazwa_zesp from zespoly z join pracownicy p on z.nr_zesp = p.nr_zesp where p.plec = 'M'
  96. 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')
  97.  
  98. 13. select p.nazwisko, p.data_ur, z.nazwa_zesp from zespoly z join pracownicy p
  99. on p.nr_zesp = z.nr_zesp where p.plec = 'M' and z.nazwa_zesp = 'OPROGRAMOWANIE'
  100. AND p.data_ur >
  101. all(select p.data_ur from pracownicy p join zespoly z on p.nr_zesp = z.nr_zesp where z.nazwa_zesp = 'BUDOWA')
  102.  
  103. 14. 14. select p.nr_zesp,z.nazwa_zesp,p.nazwisko from zespoly z join pracownicy p on
  104. z.nr_zesp = p.nr_zesp where data_ur = (select max(p1.data_ur) from pracownicy p1 where p.nr_zesp = p1.nr_zesp)
  105. 15.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement