-----==== Řešení příkladů na SELECT ====----- 1) Pro každé město vypište počet poboček, které tam má banka otevřeny. SELECT mesto, COUNT(*) FROM pobocka GROUP BY mesto; 2) Města s více než 3 pobočkami banky. SELECT mesto FROM pobocka GROUP BY mesto HAVING COUNT(*) > 3 3) Pro každého zákazníka vypište sumu jeho vkladů. SELECT zjmeno, SUM(stav) AS vklady FROM vklady GROUP BY zjmeno; 4) Pro každého zákazníka vypište sumu jeho úvěrů. SELECT zjmeno, SUM(vyse) AS uvery FROM uvery GROUP BY zjmeno; 5) Pro každého zákazníka vypište jeho bilanci (rozdíl vkladů a úvěrů). SELECT zjmeno, COALESCE(vklady,0)-COALESCE(uvery,0) AS bilance FROM (SELECT zjmeno, SUM(stav) AS vklady FROM vklady GROUP BY zjmeno) V FULL OUTER JOIN (SELECT zjmeno, SUM(vyse) AS uvery FROM uvery GROUP BY zjmeno) U USING (zjmeno); 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. SELECT pnazev FROM vklady GROUP BY pnazev HAVING AVG(stav) >= (SELECT AVG(stav) FROM vklady); 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. SELECT pnazev, zjmeno, COUNT(ucetc) FROM uvery WHERE vyse > 100000 GROUP BY pnazev, zjmeno HAVING COUNT(*) > 2 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č). SELECT z.zjmeno, ulice, mesto, psc FROM zakaznik z, vklady v WHERE z.zjmeno=v.zjmeno GROUP BY z.zjmeno, ulice, mesto, psc HAVING COUNT(ucetc) > 2;