Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --zad 2
- CREATE TABLE sprzedaz
- (NR_TRANSAKCJI INTEGER(9) CONSTRAINT pk_nr PRIMARY KEY,
- data_sprzedazy DATE DEFAULT CURRENT DATE,
- ilosc NUMBER(5),
- cena NUMBER(7, 2),
- id_sklepu NUMBER(6) CONSTRAINT fk_sklepy references sklepy(id_sklepu),
- symbol_kat VARCHAR2(10) CONSTRAINT fk_arty references aktykuly(symbol_kat),
- CONSTRAINT chk_ilosc CHECK(ilosc BETWEEN 0 AND 10000),
- CONSTRAINT chk_cena CHECK(cena > 0));
- --zad3
- SELECT nazwa
- FROM artykoly
- WHERE kategoria IN ('kosmetyki', 'nabial')
- AND (symbol_kat LIKE '%PWS88%' OR symbol_kat LIKE '%KIU77%');
- --zad4
- SELECT a.symbol_kat, a.nazwa, sp.data_sprzedazy, s.nazwa
- FROM artykuly a left inner join sprzedaz sp ON a.symbol_kat = sp.symbol_kat
- join sklepy s ON s.id_sklepu = sp.id_sklepu
- WHERE s.miasto = 'Poznan'
- AND sp.data_sprzedazy BETWEEN TO_DATE('01-01-2018) and to_date('01-04-2018);
- --zad5
- SELECT sp.symbol_kat, a.nazwa, COUNT(*), AVG(NVL(sp.cena, 0))
- FROM artykuly a inner left join sprzedaz sp ON a.symbol_kat = sp.symbol_kat
- GROUP BY sp.symbol_kat
- ORDER BY AVG(NVL(sp.cena, 0)) DESC;
- --Tutaj w sumie nie trzeba nvl bo ejst inner left join. Ale tak napiszę
- --zad6
- SELECT a.nazwa
- FROM artykuly a join sprzedaz sp ON a.symbol_kat = sp.symbol_kat
- WHERE cena = MAX(cena);
- --zad7
- ALTER TABLE sprzedaz
- ADD internetowa VARCHAR2(1);
- UPDATE sprzedaz
- SET internetowa = 'T'
- WHERE id_sklepu IN (SELECT id_sklepu
- FROM sklepy
- WHERE czynsz > 10000);
- --zad 8
- DELETE FROM sprzedaz sp
- WHERE symbol_kat IN (
- SELECT symbol_kat
- FROM artykuly
- WHERE kategoria = 'Sprzet komp')
- AND id_sklepu IN (
- SELECT id_sklepu
- FROM sklepy
- WHERE miasto IN('Warszawa','Krakow'));
- -zad9
- CREATE OR REPLACE VIEW NajdrozszeSklepy AS
- SELECT * FROM sklepy
- WHERE czynsz > 10000;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement