· 6 years ago · Jan 21, 2020, 09:28 AM
1CREATE TABLE osoby_zad20
2(
3id_osoby varchar(7) PRIMARY KEY
4nazwisko varchar(30),
5pensja_netto int
6)
7SELECT*FROM osoby_zad20
8
9INSERT INTO osoby_zad20 VALUES
10('id_1','Malinowska','4822'),
11('id_3','Kowalski','3890'),
12('id_6','Nowak','6700'),
13('id_9','Nowicki','2787'),
14('id_2','Zakrzewski','3480')
15SELECT*FROM osoby_zad20
16
17CREATE TABLE tabela_miasta
18(
19lp INT PRIMARY KEY IDENTITY,
20nazwisko varchar(30),
21miasto varchar(30)
22)
23SELECT*FROM tabela_miasta
24
25INSERT INTO tabela_miasta VALUES
26('Kowalski','Sopot'),
27('Nowak','Gdańsk'),
28('Malinowska','Gdańsk'),
29('Kowalewski','Gdynia')
30SELECT*FROM tabela_miasta
31
32
33SELECT tabela_miasta.nazwisko, miasto, data1
34FROM tabela_data, tabela_miasta
35WHERE tabela_miasta.nazwisko=tabela_data.nazwisko
36AND miasto='Gdańsk'
37
38SELECT tabela_miasta.nazwisko, data1, miasto
39FROM tabela_data, tabela_miasta
40WHERE tabela_miasta.nazwisko=tabela_data.nazwisko
41AND NOT miasto='Sopot'
42
43ALTER TABLE tabela_data ADD Brutto float
44SELECT*FROM tabela_data
45
46UPDATE tabela_data SET Brutto='8120.34'
47WHERE lp=1
48UPDATE tabela_data SET Brutto='7890.77'
49WHERE lp=2
50UPDATE tabela_data SET Brutto='9880.80'
51WHERE lp=3
52UPDATE tabela_data SET Brutto='6788.80'
53WHERE lp=4
54
55SELECT*FROM tabela_data
56
57SELECT MAX(Brutto) as 'Osoba zarabiajaca najwiecej'
58FROM tabela_data
59
60SELECT MIN(Brutto) as 'Osoba zarabiajaca najmniej'
61FROM tabela_data
62
63DECLARE @sr_brutto float
64SET @sr_brutto=(SELECT AVG(Brutto) FROM tabela_data)
65
66SELECT @sr_brutto as 'Srednia zarobkow'
67
68SELECT tabela_data.nazwisko, tabela_miasta.miasto, tabela_data.Brutto FROM tabela_data, tabela_miasta
69WHERE tabela_data.Brutto>@sr_brutto AND tabela_data.nazwisko=tabela_miasta.nazwisko
70
71----------------------------------
72
73DECLARE @sr_netto float
74SET @sr_netto=(SELECT AVG(pensja_netto) FROM osoby_zad20)
75
76SELECT @sr_netto as 'Srednia pensja netto'
77
78SELECT osoby_zad20.nazwisko AS 'Nazwisko osoby', miasta_zad20.miasto, osoby_zad20.pensja_netto AS 'dochód NETTO' FROM osoby_zad20, miasta_zad20
79WHERE osoby_zad20.pensja_netto>@sr_netto AND osoby_zad20.nazwisko=miasta_zad20.nazwisko
80
81-----------------------------------------
82
83SELECT*FROM osoby_zad20
84
85DECLARE @min_brutto float
86SET @min_brutto=(SELECT MIN(pensja_brutto) FROM osoby_zad20)
87
88SELECT @min_brutto as 'min. pensja Brutto'
89
90SELECT osoby_zad20.nazwisko AS 'Nazwisko osoby', miasta_zad20.miasto, osoby_zad20.pensja_brutto AS 'dochód BRUTTO' FROM osoby_zad20, miasta_zad20
91WHERE osoby_zad20.pensja_netto>@min_brutto AND osoby_zad20.nazwisko=miasta_zad20.nazwisko
92
93------------------------------------------
94
95SELECT osoby_zad20.nazwisko AS 'Nazwisko osoby', miasta_zad20.miasto, osoby_zad20.pensja_brutto AS 'dochód MAX BRUTTO' FROM osoby_zad20, miasta_zad20 WHERE miasto='Gdansk' AND osoby_zad20.nazwisko=miasta_zad20.nazwisko
96AND osoby_zad20.pensja_brutto = (SELECT MAX(pensja_brutto) FROM osoby_zad20)
97
98SELECT osoby_zad20.nazwisko AS 'Nazwisko osoby', miasta_zad20.miasto, osoby_zad20.pensja_brutto AS 'dochód MIN BRUTTO' FROM osoby_zad20, miasta_zad20 WHERE miasto='Gdansk' AND osoby_zad20.nazwisko=miasta_zad20.nazwisko
99AND osoby_zad20.pensja_brutto = (SELECT MIN(pensja_brutto) FROM osoby_zad20)
100
101--zad24
102
103DECLARE @sr_brutto float
104SET @sr_brutto=(SELECT AVG(pensja_brutto) FROM osoby_zad20)
105
106SELECT @sr_brutto as 'Srednia pensja netto'
107
108SELECT osoby_zad20.nazwisko AS 'Nazwisko osoby', miasta_zad20.miasto, osoby_zad20.pensja_brutto AS 'dochód BRUTTO' FROM osoby_zad20, miasta_zad20
109WHERE osoby_zad20.pensja_brutto>@sr_brutto AND osoby_zad20.nazwisko=miasta_zad20.nazwisko
110
111------------
112
113--zad25
114
115DECLARE @sr_brutto float
116SET @sr_brutto=(SELECT AVG(pensja_brutto) FROM osoby_zad20)
117
118SELECT @sr_brutto as 'Srednia pensja netto'
119
120SELECT osoby_zad20.nazwisko AS 'Nazwisko osoby', miasta_zad20.miasto, osoby_zad20.pensja_brutto AS 'dochód BRUTTO' FROM osoby_zad20, miasta_zad20
121WHERE osoby_zad20.pensja_brutto>@sr_brutto AND miasta_zad20.miasto != 'Sopot' AND osoby_zad20.nazwisko=miasta_zad20.nazwisko
122
123-------------------------------------------------------
124LAB07
125---------------------------------------------------------
126ZAD26
127
128CREATE TABLE tab1
129(
130lp INT PRIMARY KEY IDENTITY,
131id_prod varchar(15),
132cena_netto float(2)
133)
134SELECT*FROM tab1
135
136CREATE TABLE tab2
137(
138lp INT PRIMARY KEY IDENTITY,
139id_prod varchar(15),
140id_kat varchar(15)
141)
142SELECT*FROM tab2
143
144CREATE TABLE tab3
145(
146lp INT PRIMARY KEY IDENTITY,
147id_kat varchar(15),
148opis_kat varchar(20)
149)
150SELECT*FROM tab3
151
152INSERT INTO tab1 VALUES
153
154('id_a_02','45.99'),
155('id_b_03','58.99'),
156('id_b_05','30.50'),
157('id_a_03','12.50'),
158('id_c_05','69.50')
159
160SELECT*FROM tab1
161
162INSERT INTO tab2 VALUES
163
164('id_b_03','id_kat2'),
165('id_c_05','id_kat3'),
166('id_b_05','id_kat2'),
167('id_a_03','id_kat1'),
168('id_a_02','id_kat1')
169
170SELECT*FROM tab2
171
172INSERT INTO tab3 VALUES
173
174('id_kat2','opis 1'),
175('id_kat1','opis 2'),
176('id_kat3','opis 3')
177
178SELECT*FROM tab3
179
180-------------------------------------------------
181ZAD27
182
183
184SELECT MAX(cena_netto*1.23) as 'max z kat1' FROM tab1, tab2, tab3
185WHERE tab1.id_prod=tab2.id_prod AND tab2.id_kat='id_kat1'
186
187SELECT MAX(cena_netto*1.23) as 'max z kat2' FROM tab1, tab2, tab3
188WHERE tab1.id_prod=tab2.id_prod AND tab2.id_kat='id_kat2'
189
190SELECT MAX(cena_netto*1.23) as 'max z kat3' FROM tab1, tab2, tab3
191WHERE tab1.id_prod=tab2.id_prod AND tab2.id_kat='id_kat3'
192
193------------------------------------------------------------------------
194ZAD28
195
196
197SELECT COUNT(tab1.id_prod) as 'ile z kat1' FROM tab1, tab2, tab3
198WHERE tab1.id_prod=tab2.id_prod AND tab2.id_kat='id_kat1'
199
200SELECT COUNT(tab1.id_prod) as 'ile z kat2' FROM tab1, tab2, tab3
201WHERE tab1.id_prod=tab2.id_prod AND tab2.id_kat='id_kat2'
202
203SELECT COUNT(tab1.id_prod) as 'ile z kat3' FROM tab1, tab2, tab3
204WHERE tab1.id_prod=tab2.id_prod AND tab2.id_kat='id_kat3'
205
206--------------------------------------------------------------------
207ZAD29
208
209UPDATE tab1 SET cena_netto='100'
210WHERE lp=2
211UPDATE tab1 SET cena_netto='100'
212WHERE lp=3
213SELECT*FROM tab1
214
215---------------------------------------------------
216ZAD30
217
218SELECT cena_netto*1.23 AS 'cena_brutto' from tab1
219
220DECLARE @sr_brutto float
221SET @sr_brutto=(SELECT AVG(cena_netto) FROM tab1)*1.23
222
223SELECT @sr_brutto AS 'Średnia brutto'
224
225DECLARE @vat VARCHAR
226SET @vat='23%'
227
228SELECT tab1.id_prod as 'id_prod', tab1.cena_netto as 'cena_netto', tab1.cena_netto*1.23 as 'cena_brutto',@vat as 'VAT', tab2.id_kat as 'id_kat', tab3.opis_kat as 'opis_kat'
229FROM tab1, tab2, tab3
230WHERE tab1.id_prod=tab2.id_prod AND tab2.id_kat='id_kat1' AND tab1.cena_netto*1.23>@sr_brutto
231
232-----------------------------------
233
234
235ZAD31
236
237CREATE TABLE tab1
238(
239lp INT PRIMARY KEY IDENTITY,
240Nazwisko varchar(20),
241"Data" date
242)
243SELECT*FROM tab1
244
245CREATE TABLE tab2
246(
247lp INT PRIMARY KEY IDENTITY,
248Nazwisko varchar(20),
249Miasto varchar(15)
250)
251SELECT*FROM tab2
252
253INSERT INTO tab1 VALUES
254
255('Kowalski','1998-09-01'),
256('Malinowska','1991-10-09'),
257('Nowak','1993-02-09'),
258('Kowalewski','1992-03-12')
259
260SELECT*FROM tab1
261
262INSERT INTO tab2 VALUES
263
264('Kowalski','Sopot'),
265('Nowak','Gdańsk'),
266('Malinowska','Gdańsk'),
267('Kowalewski','Gdynia')
268
269SELECT*FROM tab2
270
271
272--------------------------------------
273
274ZAD32
275
276SELECT tab1.Nazwisko, tab1."Data",(2019-YEAR(tab1.Data)) as 'Wiek', tab2.Miasto FROM tab1, tab2
277WHERE tab1.Nazwisko=tab2.Nazwisko
278ORDER BY tab2.Miasto
279
280--------------------------
281ZAD33
282
283DECLARE @min_data date
284SET @min_data=(SELECT MIN(Data) FROM tab1)
285
286DECLARE @min_rok int
287SET @min_rok = YEAR(@min_data)
288
289DECLARE @max_data date
290SET @max_data=(SELECT MAX(Data) FROM tab1)
291
292DECLARE @max_rok int
293SET @max_rok = YEAR(@max_data)
294
295SELECT tab1.Nazwisko as 'Nazwisko osoby najstarszej', (2019-@min_rok) as 'Wiek osoby najstarszej' FROM tab1, tab2
296WHERE tab1.Nazwisko=tab2.Nazwisko AND tab1.Data=@min_data
297
298SELECT tab1.Nazwisko as 'Nazwisko osoby najmlodszej', (2019-@max_rok) as 'Wiek osoby najmlodszej' FROM tab1, tab2
299WHERE tab1.Nazwisko=tab2.Nazwisko AND tab1.Data=@max_data
300
301-----------------------------------
302ZAD34
303
304
305drop function if exists dbo.f1
306go
307create function f1()
308returns int
309begin
310DECLARE @min_data date
311SET @min_data=(SELECT MIN(Data) FROM tab1)
312DECLARE @min_rok int
313SET @min_rok = YEAR(@min_data)
314return @min_rok
315end
316go
317
318drop function if exists dbo.f2
319go
320create function f2()
321returns int
322begin
323DECLARE @max_data date
324SET @max_data=(SELECT MAX(Data) FROM tab1)
325DECLARE @max_rok int
326SET @max_rok = YEAR(@max_data)
327return @max_rok
328end
329go
330
331DECLARE @min date
332SET @min=(SELECT MIN(Data) FROM tab1)
333DECLARE @max date
334SET @max=(SELECT MAX(Data) FROM tab1)
335
336SELECT tab1.Nazwisko as 'Nazwisko osoby najstarszej', (2019-dbo.f1()) as 'Wiek osoby najstarszej' FROM tab1, tab2
337WHERE tab1.Nazwisko=tab2.Nazwisko AND tab1.Data=@min
338
339SELECT tab1.Nazwisko as 'Nazwisko osoby najmlodszej', (2019-dbo.f2()) as 'Wiek osoby najmlodszej' FROM tab1, tab2
340WHERE tab1.Nazwisko=tab2.Nazwisko AND tab1.Data=@max
341
342------------------------------------------------------------
343ZAD35
344
345
346drop function if exists dbo.f1
347go
348create function f1()
349returns int
350begin
351DECLARE @zmienna int
352SET @zmienna=(SELECT COUNT(tab1.Nazwisko) FROM tab1, tab2
353WHERE YEAR(tab1.Data) > 1991 AND tab1.Nazwisko=tab2.Nazwisko AND tab2.Miasto='Gdańsk')
354return @zmienna
355end
356go
357
358SELECT dbo.f1() as 'Gdańsk - po 1991'
359
360-------------------------------------------------------
361ZAD36
362
363ALTER TABLE tab1 ADD Brutto float
364SELECT*FROM tab1
365
366UPDATE tab1 SET Brutto='8120.34'
367WHERE lp=1
368UPDATE tab1 SET Brutto='7890.77'
369WHERE lp=2
370UPDATE tab1 SET Brutto='9880.80'
371WHERE lp=3
372UPDATE tab1 SET Brutto='6788.80'
373WHERE lp=4
374
375SELECT*FROM tab1
376
377------------------------------------------------------
378ZAD37
379
380DECLARE @sr_brutto float
381SET @sr_brutto=(SELECT AVG(Brutto) FROM tab1)
382
383SELECT @sr_brutto AS 'Średnia brutto'
384
385DECLARE @sr_wiek float
386SET @sr_wiek=(SELECT AVG(Brutto) FROM tab1)
387
388SELECT @sr_wiek AS 'Średnia brutto'
389
390SELECT tab1.Nazwisko as 'Nazwisko', (2019-YEAR(tab1.Date)) as 'Wiek', tab2.Miasto, tab1.brutto FROM tab1, tab2
391WHERE tab1.Nazwisko=tab2.Nazwisko AND 2019-YEAR(tab1.Date) > AND tab1.Brutto>@sr_brutto
392
393
394-----------------
395
396ZAD39
397
398CREATE TABLE tabelka1
399(
400Lp INT PRIMARY KEY IDENTITY,
401"Data" date,
402Nazwisko varchar(15)
403)
404SELECT*FROM tabelka1
405
406CREATE TABLE tabelka2
407(
408Lp INT PRIMARY KEY IDENTITY,
409Nazwisko varchar(15),
410Miasto varchar(15)
411)
412SELECT*FROM tabelka2
413
414CREATE TABLE tabelka3
415(
416Lp INT PRIMARY KEY IDENTITY,
417Nazwisko varchar(15),
418Brutto int
419)
420SELECT*FROM tabelka3
421
422INSERT INTO tabelka1 VALUES
423
424('1998-09-01','Kowalski'),
425('1991-10-09','Malinowska'),
426('2001-02-09','Nowak'),
427('2002-03-12','Kowalewski')
428
429SELECT*FROM tabelka1
430
431INSERT INTO tabelka2 VALUES
432
433('Kowalski','Sopot'),
434('Nowak','Gdańsk'),
435('Malinowska','Gdańsk'),
436('Kowalewski','Gdynia')
437
438
439SELECT*FROM tabelka2
440
441INSERT INTO tabelka3 VALUES
442
443('Kowalski','8120'),
444('Malinowska','7891'),
445('Nowak','9882'),
446('Kowalewski','6789')
447
448SELECT*FROM tabelka3
449
4501
451DECLARE @sr0 int
452SET @sr0 = (SELECT MIN(tabelka3.Brutto*0.813) FROM tabelka3, tabelka2 WHERE tabelka2.Miasto='Gdańsk')
453
454SELECT tabelka2.Nazwisko, tabelka3.Brutto*0.813 as 'Netto', tabelka3.Brutto FROM tabelka2, tabelka3
455
456WHERE tabelka2.Nazwisko=tabelka3.Nazwisko AND tabelka3.Brutto*0.813>@sr0 AND tabelka2.Miasto='Gdańsk'
457
4582
459DECLARE @max int
460SET @max = (SELECT MAX(Brutto) FROM tabelka3)
461
462SELECT tabelka2.Nazwisko, tabelka3.Brutto*0.813 as 'Netto', tabelka3.Brutto FROM tabelka2, tabelka3
463
464WHERE tabelka2.Nazwisko=tabelka3.Nazwisko AND tabelka3.Brutto=@max
465
4663
467DECLARE @sr1 int
468SET @sr1 = (SELECT AVG(Brutto) FROM tabelka3, tabelka2 WHERE tabelka2.Miasto='Gdańsk')
469
470DECLARE @sr2 int
471SET @sr2 = @sr1*0.813
472
473
474SELECT tabelka2.Miasto, @sr2 as 'Netto', @sr1 as 'Brutto' FROM tabelka2, tabelka3
475WHERE tabelka2.Nazwisko=tabelka3.Nazwisko AND tabelka2.Miasto='Gdańsk'
476------------------------------
477
478ZAD40
479
480drop function if exists dbo.fun1
481go
482create function fun1()
483
484begin
485
486DROP TABLE if exists imionka1
487DROP TABLE if exists wzrosty
488DROP TABLE if exists razem
489
490CREATE TABLE imionka1
491(
492imię varchar(10) PRIMARY KEY,
493nazwisko varchar(30),
494)
495SELECT*FROM imionka1
496
497CREATE TABLE wzrosty
498(
499nazwisko varchar(30) PRIMARY KEY,
500wzrost int,
501)
502SELECT*FROM imionka1
503
504CREATE TABLE razem
505(
506miasto varchar(10) PRIMARY KEY,
507nazwisko varchar(30),
508netto float
509)
510SELECT*FROM razem
511
512INSERT INTO wzrosty VALUES
513
514('Kowalski','190'),
515('Malicka','195'),
516('Malinowski','185'),
517('Nowicki','188')
518
519SELECT*FROM wzrosty
520
521INSERT INTO imionka1 VALUES
522
523('Gdańsk','Kowalski','Kowalski'),
524('Gdynia','Nowicki','Kowalski'),
525('Gdańsk','Malinowski','Kowalski'),
526('Gdynia','Malicka','Kowalski')
527
528SELECT*FROM imionka1
529
530
531
532end
533go
534
535dbo.fun1
536
537----------------------------------------------------------------------------------------
538
539ZAD49
540
541DROP TABLE IF EXISTS pacjenci
542DROP TABLE IF EXISTS lekarze
543DROP TABLE IF EXISTS miasta
544DROP TABLE IF EXISTS wizyty
545
546CREATE TABLE pacjenci
547(
548id_pacjenta varchar(6) PRIMARY KEY,
549nazwisko varchar(20),
550data_ur date
551)
552SELECT*FROM pacjenci
553
554CREATE TABLE lekarze
555(
556id_lekarza varchar(4) PRIMARY KEY,
557id_specjalizacji varchar(2),
558nr_gab int
559)
560SELECT*FROM lekarze
561
562CREATE TABLE miasta
563(
564nazwisko varchar(20) PRIMARY KEY,
565miasto varchar(10)
566)
567SELECT*FROM miasta
568
569CREATE TABLE wizyty
570(
571id_pacjenta varchar(6) PRIMARY KEY,
572data_wizyty datetime2,
573id_lekarza varchar(4)
574
575)
576SELECT*FROM wizyty
577
578
579
580INSERT INTO pacjenci VALUES
581
582('A_1234','Kowalska','1989/02/01'),
583('A_3456','Nowak','1991/03/03 '),
584('B_2111','Malicki','1993/05/05')
585
586SELECT*FROM pacjenci
587
588INSERT INTO lekarze VALUES
589
590('P_12','p1','23'),
591('O_34','o1','31'),
592('S_90','s1','40')
593
594SELECT*FROM lekarze
595
596INSERT INTO miasta VALUES
597
598('Nowak','Gdańsk'),
599('Kowalska','Gdańsk'),
600('Malicki','Sopot')
601
602SELECT*FROM miasta
603
604INSERT INTO wizyty VALUES
605
606('A_3456','2019-04-21 18:00','S_90'),
607('A_1234','2019-05-13 14:50','O_34'),
608('B_2111','2019-06-03 15:00','S_90')
609
610SELECT*FROM wizyty
611
612SELECT pacjenci.nazwisko, pacjenci.data_ur, YEAR(GETDATE()) - YEAR(pacjenci.data_ur) as 'wiek' FROM pacjenci
613
614SELECT pacjenci.nazwisko as 'nazwisko osoby najstarszej' FROM pacjenci
615WHERE pacjenci.data_ur = (SELECT MIN(pacjenci.data_ur) FROM pacjenci)
616
617SELECT miasta.miasto, wizyty.data_wizyty, pacjenci.nazwisko FROM pacjenci, wizyty, miasta
618WHERE pacjenci.nazwisko = miasta.nazwisko AND pacjenci.id_pacjenta = wizyty.id_pacjenta
619
620SELECT miasta.miasto, wizyty.data_wizyty, pacjenci.nazwisko, lekarze.id_lekarza, lekarze.id_specjalizacji FROM pacjenci, wizyty, miasta, lekarze
621WHERE pacjenci.nazwisko = miasta.nazwisko AND pacjenci.id_pacjenta = wizyty.id_pacjenta AND lekarze.id_lekarza = wizyty.id_lekarza
622
623SELECT miasta.miasto, wizyty.data_wizyty, pacjenci.nazwisko, lekarze.id_lekarza, lekarze.id_specjalizacji FROM pacjenci, wizyty, miasta, lekarze
624WHERE pacjenci.nazwisko = miasta.nazwisko AND pacjenci.id_pacjenta = wizyty.id_pacjenta AND lekarze.id_lekarza = wizyty.id_lekarza AND miasta.miasto != 'Gdańsk'
625
626SELECT miasta.miasto, wizyty.data_wizyty, pacjenci.nazwisko, lekarze.id_lekarza, lekarze.id_specjalizacji FROM pacjenci, wizyty, miasta, lekarze
627WHERE pacjenci.nazwisko = miasta.nazwisko AND pacjenci.id_pacjenta = wizyty.id_pacjenta AND lekarze.id_lekarza = wizyty.id_lekarza AND pacjenci.nazwisko = 'Nowak'
628
629SELECT miasta.miasto, wizyty.data_wizyty, pacjenci.nazwisko, lekarze.id_lekarza, lekarze.id_specjalizacji FROM pacjenci, wizyty, miasta, lekarze
630WHERE pacjenci.nazwisko = miasta.nazwisko AND pacjenci.id_pacjenta = wizyty.id_pacjenta AND lekarze.id_lekarza = wizyty.id_lekarza AND DAY(wizyty.data_wizyty) = DAY(GETDATE())
631
632----------------------------------------------------------------------------------------------