· 6 years ago · Dec 02, 2019, 01:56 PM
1--GRUPA A
2--IMIE I NAZWISKO:
3
4DROP TABLE osoba2;
5DROP TABLE wyplata2;
6
7CREATE TABLE osoba2 (
8 id_osoba INT NOT NULL,
9 imie VARCHAR(20) NOT NULL,
10 nazwisko VARCHAR(20) NOT NULL,
11 data_ur DATE,
12 PRIMARY KEY (id_osoba));
13
14INSERT INTO osoba2 VALUES (1, 'Jan', 'Kowalski','1971-09-18');
15INSERT INTO osoba2 VALUES (2, 'Jerzy', 'Nowak','1973-11-07');
16INSERT INTO osoba2 VALUES (3, 'Jakub', 'Kargul','1981-01-13');
17INSERT INTO osoba2 VALUES (4, 'Anna', 'Pawlak','1975-12-19');
18INSERT INTO osoba2 VALUES (5, 'Henryk', 'Majewski','1975-05-19');
19
20
21CREATE TABLE wyplata2 (
22 id_wyplata INT NOT NULL,
23 id_osoba INT NOT NULL,
24 kwota INT NOT NULL,
25 tytulem VARCHAR(25) NOT NULL,
26 data_wplaty DATE,
27 PRIMARY KEY (id_wyplata));
28
29
30INSERT INTO wyplata2 VALUES (1,1,3100,'wyplata styczen 2009','2009-01-10');
31INSERT INTO wyplata2 VALUES (2,1,3100,'wyplata luty 2009','2009-02-10');
32INSERT INTO wyplata2 VALUES (3,1,3100,'wyplata marzec 2009','2009-03-10');
33INSERT INTO wyplata2 VALUES (4,1,3100,'wyplata kwiecien 2009','2009-04-10');
34INSERT INTO wyplata2 VALUES (5,1,3100,'wyplata maj 2009','2009-05-10');
35INSERT INTO wyplata2 VALUES (6,1,3100,'wyplata czerwiec 2009','2009-06-09');
36INSERT INTO wyplata2 VALUES (7,2,4500,'wyplata styczen 2009','2009-01-10');
37INSERT INTO wyplata2 VALUES (8,2,4500,'wyplata luty 2009','2009-02-10');
38INSERT INTO wyplata2 VALUES (9,2,1000,'wyplata luty 2009','2009-02-15');
39INSERT INTO wyplata2 VALUES (10,3,9100,'wyplata styczen 2009','2009-01-10');
40
41--tabelki
42select * from wyplata2;
43
44select * from osoba2;
45
46IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name='student')
47DROP TABLE student;
48
49-----------------------------------------------------------------------------
50--ZADANIA:
51
52
53--Zad A1
54--Wyswietlic alfabetycznie osoby (nazwiska i imiona), które urodzily sie w
55--miesiacu maju i nie otrzymaly dotad zadnej wyplaty.
56SELECT osoba2.imie, osoba2.nazwisko FROM osoba2 FULL OUTER JOIN wyplata2 ON osoba2.id_osoba = wyplata2.id_osoba WHERE MONTH (data_ur) = 5 AND id_wyplata IS NULL ORDER BY nazwisko ASC;
57
58
59--Zad A2
60--Dla kazdej osoby znalezc laczna sume wyplat, o ile nie bylo dla tej osoby
61--wiecej niz 5 wyplat. (Dla osob, ktore nie otrzymaly zadnej wyplaty taka
62--suma powinna wynosic zero.)
63SELECT imie, nazwisko, COUNT(wyplata2.id_wyplata) AS ilosc_wyplat, SUM(wyplata2.kwota) AS suma_wyplat FROM osoba2 WHERE
64
65
66--Zad A3
67--Wyszukac osoby, ktore choc w jednym miesiacu otrzymaly wiecej niz jedna wyplate.00
68
69
70
71-- Zad A4
72-- utworz tabelkę student z polami ( id , imie nazwisko , miasto ,data)
73-- imie nazwisko nie może być null
74-- miasto domyslnie ma być Gdansk
75-- wyświetl strukture tabelki przez polecenie Select
76CREATE TABLE student (id_student INT PRIMARY KEY, imie VARCHAR(15) NOT NULL, nazwisko VARCHAR(20) NOT NULL, miasto VARCHAR(20) NOT NULL DEFAULT 'Gdansk', data DATE);
77SELECT * FROM student
78
79
80-- Zad A5
81-- w tabelce student dodaj 5 nowych rekordów
82INSERT INTO student (id_student, imie, nazwisko, data) VALUES (1,'Szymon','Michałowski','2015');
83INSERT INTO student (id_student, imie, nazwisko, data) VALUES (2,'Jan','Babiński','2002');
84INSERT INTO student (id_student, imie, nazwisko, data) VALUES (3,'Piotr','Piotullo','2012');
85INSERT INTO student (id_student, imie, nazwisko, data) VALUES (4,'Robert','Pires','2009');
86INSERT INTO student (id_student, imie, nazwisko, data) VALUES (5,'Jakub','Pioter','2008');
87
88
89-- Zad A6
90-- tabelce student dla id =1 dokonaj aktualizacji wpisz imię = Tomek nazwisko = Kowalski
91UPDATE student SET imie = 'Szymon', nazwisko = 'Glowa' WHERE id_student = 1;
92
93
94-- Zad A7
95-- z tabelki student usuń ostatni rekord
96DELETE FROM student WHERE id_student = 5;
97SELECT * from student;
98
99
100-- Zad A8
101-- do tabelki student dodaj nową kolumnę o nazwie przedmiot i ocena
102ALTER TABLE student ADD przedmiot VARCHAR(20);
103ALTER TABLE student ADD ocena INT;
104
105
106
107-- Zad A9
108-- z tabelki student usuń kolumne ocena
109ALTER TABLE student DROP COLUMN ocena;
110
111
112
113-- Zad A10
114-- do zadania A2 utwórz tabelkę wirtualną o nazwie WSB i wyswietl ją za pomocą prostego zapytania Select.