4.gyak. Összesítő függvények és csoportosítás az SQL-ben
Alkérdések a WHERE és HAVING záradékokban
   
Előző 3.gyak                AB1gyak (főmenü)             Következő 5.gyak
   
Gépes feladatok: 
Összesítő (aggregáló) függvények, csoportosítás SQL-ben:
 SELECT ... FROM ...
[WHERE ...]
[[GROUP BY ... [HAVING ...]]
 [ORDER BY ... ] záradékok.  
Alkérdések a WHERE és HAVING záradékokban.
   

A gyakorlat áttekintése: 
> 1. Demo példák
> 2. Órai gyakorló feladatok  
> 3. A példatár feladatai önálló gyakorlásra: 2.fejezet feladatai
    
1.Demo példák: HR séma tábláihoz (lásd Oracle-doksik)

1.4. Csoportosítás és összesítések az SQL-ben
   
SELECT column,] group_function(column), ...
FROM   table
[WHERE condition]
[GROUP BY group_by_expression
    [HAVING group_condition] ]
[ORDER BY column];
   
Segédanyag: >> Csoportosítás példáit próbáljuk ki!
 

1.5. Alkérdések, korrelált alkérdések.

1.5.1. FROM listán (SFW) sorváltozó
     
1.5.2. WHERE záradékban:
      (a) t IN (SFW)
      (b) t theta (SFW)   -- ahol theta az aritmetikai összehasonlítás jele
      (c) t theta ANY/ALL(SFW)
      (d) EXISTS (SFW)

 Az alábbi típusú alkérdések közül melyeknél használható (a), (b), (c) ill.(d)?
       1.) skalárértéket adó alkérdések
       2.) skalárértékekből álló halmazt illetve multihalmazt adó alkérdések
       3.) teljes, többdimenziós tábla
       4.) egy sort adó többdimenziós tábla
     
Segédanyag: >> Alkérdések I.  és Alkérdések II. példáit próbáljuk ki!
 

2.) Az órai gyakorlatok példái:
Fejezd ki a lekérdezéseket SQL SELECT-tel!
   
A gyakorlatok feladatai itt: table_dolgozo.txt  -- táblák létrehozása: create_dolg
Feladatok a 4.gyakorlatra összesítő függvényekre, csoportosításra, alkérdésekre:

1.4. Oracle csoportosítás, aggregátor függvények
----- egy relációra vonatkozó lekérdezések (előbb csak egy táblára) 
- Mekkora a minimális és a maximális fizetés a dolgozók között?
- Mennyi a dolgozók összfizetése?
- Mennyi a 20-as osztályon az átlagfizetés?
- Adjuk meg, hogy hány különböző foglalkozás fordul elő a dolgozók között!
- Adjuk meg osztályonként az átlagfizetést!
- Adjuk meg azokra az osztályokra az átlagfizetést, ahol ez nagyobb mint 2000.
- Adjuk meg azokra az osztályokra az átlagfizetést, ahol legalább hárman dolgoznak!
- Melyek azok az osztályok, ahol legalább hárman dolgoznak?
- Adjuk meg osztályonként a minimális fizetést, de csak azokat az osztályokét, ahol
   a minimális fizetés nagyobb, mint a 30-as osztályon dolgozók minimális fizetése.
- Adjuk meg osztályonként az ott dolgozó hivatalnokok (FOGLALKOZAS='CLERK')
   átlagfizetését, de csak azokon az osztályokon, ahol legalább két hivatalnok dolgozik!

----- több táblára vonatkozó lekérdezések, és alkérdések:    
- Adjuk meg telephelyenként a fizetések összegét, de csak azokra a telephelyekre,
  ahol legalább 4 dolgozó van.
- Kik azok a dolgozók, akiknek a fizetése nagyobb, mint  'ALLEN' fizetése?
- Adjuk meg osztályonként a minimális fizetést, de csak azokat az osztályokét, ahol
  a minimális fizetés nagyobb, mint a 30-as osztályon dolgozók minimális fizetése.
- Kik azok a dolgozók, és milyen munkakörben dolgoznak, akiknek a legnagyobb
  a fizetésük?  (többféle megoldással, ALL alkérdés, MIN fv skalár alkérdés, stb)
- Kik azok a dolgozók, akiknek a fizetése kisebb, mint valamelyik hivatalnok ('CLERK')
  fizetése (ugyanez a kérdés, csak most minden hivatalnok fizetésénél legyen kisebb)
- Adjuk meg, hogy mely dolgozók fizetése jobb, mint a saját osztályán (ahol dolgozik)
   dolgozók átlagfizetése (korrelált alkérdéssel)
 

 3.) A példatár feladatai önálló gyakorlásra:
-- 
Lásd Feladatok.pdf  (2.fejezet feladatai)  és a táblák létrehozása  cr_dept_emp 
       

 Fel a lap tetejére                           Vissza az AB1gyak oldalára (főmenü)