-----==== Příklady na SELECT ====-----
Máme tabulky (dostupne pres schema xdohnal):
create table pobocka (
pnazev VARCHAR2(100) PRIMARY KEY,
adresa VARCHAR2(100),
mesto VARCHAR2(100)
);
create table zakaznik (
zjmeno VARCHAR2(100) PRIMARY KEY,
ulice VARCHAR2(100),
mesto VARCHAR2(100),
psc VARCHAR2(6)
);
create table vklady (
ucetc NUMBER PRIMARY KEY,
zjmeno VARCHAR2(100) REFERENCES zakaznik,
pnazev VARCHAR2(100) REFERENCES pobocka,
stav NUMBER
);
create table uvery (
ucetc NUMBER PRIMARY KEY,
zjmeno VARCHAR2(100) REFERENCES zakaznik,
pnazev VARCHAR2(100) REFERENCES pobocka,
vyse NUMBER
);
Naplnění tabulek testovacími daty:
insert into pobocka values ('KB-Svob', 'nam. Svobody', 'Brno');
insert into pobocka values ('KB-Orli', 'Orli', 'Brno');
insert into pobocka values ('KB-Hor', 'Milady Horakove', 'Brno');
insert into pobocka values ('KB-Bot', 'Botanicka', 'Brno');
insert into pobocka values ('KB-Pr', 'Prazska', 'Moravsky Krumlov');
insert into zakaznik values ('Franta', 'Bozetechova 3', 'Brno', '602 00');
insert into zakaznik values ('Pepik', 'Sladkeho 1', 'Brno', '613 00');
insert into zakaznik values ('Jirik', 'Okrouhla 25/6', 'Okrouhlice', '620 12');
insert into zakaznik values ('Jose', 'Kurimska 25', 'Tisnov', '662 01');
insert into zakaznik values ('David', 'Zdarska 5', 'Ceska', '662 11');
insert into vklady values (1, 'Franta', 'KB-Svob', 1000);
insert into vklady values (2, 'Franta', 'KB-Orli', 15000);
insert into vklady values (3, 'Franta', 'KB-Orli', 235000);
insert into vklady values (4, 'Pepik', 'KB-Hor', 12000);
insert into vklady values (5, 'Jirik', 'KB-Svob', 281000);
insert into vklady values (6, 'Jose', 'KB-Pr', 53000);
insert into vklady values (7, 'David', 'KB-Hor', 3000);
insert into uvery values (10, 'David', 'KB-Hor', 35000);
insert into uvery values (11, 'Franta', 'KB-Orli', 800000);
insert into uvery values (12, 'Franta', 'KB-Orli', 110000);
insert into uvery values (13, 'Jirik', 'KB-Pr', 560000);
Zrušení tabulek:
drop table pobocka;
drop table zakaznik;
drop table vklady;
drop table uvery;
-----
Pro usnadnění čtení výstupu si můžete nastavit sqlplus/gqlplus klienta tak,
aby zkracoval dlouhé řetězce.
COLUMN zjmeno FORMAT A20;
COLUMN ulice FORMAT A20;
COLUMN mesto FORMAT A20;
COLUMN pnazev FORMAT A20;
COLUMN adresa FORMAT A20;
Další volby viz dokumentace: http://download-west.oracle.com/docs/cd/B12037_01/server.101/b12170/ch7.htm#sthref1109
======================================================
Souhrn schéma:
pobocka ( pnazev, adresa, mesto )
zakaznik ( zjmeno, ulice, mesto, psc )
vklady ( ucetc, zjmeno, pnazev, stav )
uvery ( ucetc, zjmeno, pnazev, vyse )
1) Pro každé město vypište počet poboček, které tam má banka otevřeny.
2) Města s více než 3 pobočkami banky.
3) Pro každého zákazníka vypište sumu jeho vkladů.
4) Pro každého zákazníka vypište sumu jeho úvěrů.
5) Pro každého zákazníka vypište jeho bilanci (rozdíl vkladů a úvěrů).
6) Vypsat pobočky, v nichž je průměrný zůstatek na vkladových účtech vyšší než
nebo roven průměrnému zůstatku na všech vkladových účtech v rámci banky.
7) Pro každou pobočku seznam zákazníků ve formátu jméno a počet úvěrových
účtů. Pouze pro zákazníky dané pobočky, kteří mají více než 2 úvěry, každý přesahující 100 000 CZK.
8) Pro každého zákazníka s více než 2 vkladovými účty vypsat kompletní adresu
(tj. jméno, ulice, město, psč).