Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

– SELECT - 2. – Tarcsi Ádám 2005. március Adatbázis gyakorlat.

Hasonló előadás


Az előadások a következő témára: "– SELECT - 2. – Tarcsi Ádám 2005. március Adatbázis gyakorlat."— Előadás másolata:

1 – SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat

2 Miről lesz szó? Ismétlés: CREATE, INSERT INTO, COMMIT SELECT befejezés: –GROUP BY –HAVING –dátum kezelés

3 SELECT utasítás SELECT [ALL/DISTINCT] {*/, …, } FROM [ ], …, [ ] [WHERE GROUP BY, …, HAVING ORDER BY [ASC/DESC], …, [ASC/DESC]]

4 SELECT végrehajtási sorrend 1.FROM: melyik táblákból? 2.WHERE: melyik rekordok? 3.GROUP BY: mi szerint csoportosítva? 4.HAVING: melyik csoportok? 5.ORDER BY: mi szerint rendezve? 6.SELECT: melyik oszlopok? Műveletek sorrendje: Több tábla esetén direkt szorzat képzése Feltételek kiértékelése (rekordok elhagyása) Nem kért oszlopok elhagyása Rendezés

5 GROUP BY SELECT … FROM … [WHERE …] GROUP BY mező1, [mező 2] [ORDER BY …] Csoportosítás, csoport képzés Oszlopfüggvényeket (SUM, AVG, COUNT, stb.) az egyes csoportokban külön-külön hajta végre A GROUP BY-ban megadott mezőnek szerepelnie kell a SELECT utáni felsorolásban.

6 GROUP BY – 2. A WHERE feltételnek megfelelő sorokat csoportosítja úgy, hogy a megadott csoportosítási kifejezéseken (GROUP BY x,y…) belül az egyező értékkel bírók, illetve azok teljes sorai kerülnek 1-1 csoportba. Üres csoportok nem kerülnek be!

7 GROUP BY feladatok Adjuk meg az egyes tanárok által oktatott diákok átlagéletkorát! Megjegyzés: Az eredmény táblába nem kerülnek bele azok a tanárok, akik nem tanítanak senkit sem.

8 HAVING Csoportokra vonatkozó feltétel megadás. csak a GROUP BY utasítással együtt használjuk. MindenWHERE GROUP BY HAVING

9 HAVING feladatok Adjuk meg azon tanárok nevét, akik 2 diáknál többet tanítanak! Adjuk meg azon tanárok nevét és tanítványainak átlagéletkorát, akik 2 diáknál többet tanítanak!

10 Dátumkezelés Dátum tárolás: (évszázad,) év, nap, óra, perc, másodperc. SELECT sysdate FROM dual; - rendszeridő, dátum Dátummal végezhető műveletek: –dátum +- szám - napokat ad hozzá, vesz el –dátum – dátum- eltelt napok száma –dátum + szám/24- szám db órát ad a dátumhoz

11 Dátum konverzió Hozzunk létre egy új táblát: tEmber(EAzon:szám,Nev:szoveg,Szuletes:date) Töltsük fel egy rekorddal: INSERT INTO-val próbáljuk meg feltölteni! INSERT INTO tEmber VALUES (5,‘Kiss János‘, 1988.Feb.28.);  Konverziós függvény!

12 Konverzió TO_DATE(‘dátumérték’,’formátum’): number,char,varchar típusú dátumértéket adott formátumú dátummá alakítja. Pl.: TO_DATE(‘1988.FEB.28.','YYYY.MON.DD.') Most próbáljuk újra! INSERT INTO tEmber VALUES (5,'Kiss János',TO_DATE('1988.feb.28.','YYYY. mon.DD.'));

13 Konverzió – TO_CHAR TO_CHAR(érték,’formátum’): Számból, dátumból (mezőt  adott formátumú dátummá) karaktert. Lekérdezéskor. SELECT TO_CHAR(sysdate,'MONTH') FROM DUAL;

14 Konverzió TO_CHAR Lehetséges dátum formátummaszkok pl.: YYYY- teljes évszám YEAR- évszám betűvel MM- hónapneve (pl:.03) MONTH- hónap teljes neve MON- hónap 3 betűs rövidítése WW- hét sorszáma az évben DD- nap sorszáma a hónapban D- nap sorszáma a héten DAY- nap teljes neve Példa: Select TO_CHAR(Szuletes,'YYYY MONTH DAY') from tEmber;

15 Dátumkezelő függvények * MOTHS_BETWEEN(dátum1,dátum2): két dátum között eltelt hónapok száma ADD_MONTHS(dátum,n): n db naptári hónapot ad hozzá a dátumhoz. n negatív is lehet. NEXT_DAY(dátum,’nap’):Meghatározza a megadott dátum utáni első ‘nap’ nevű nap dátumát. SELECT NEXT_DAY(sysdate,'csütörtök') FROM dual; LAST_DAY(dátum,’nap’): A megadott dátum hónapjának utolsó napját

16 Dátumkezelő függvények – 2. * UPDATE tEmber SET Szuletes=ADD_MONTHS(Szuletes,-20) WHERE EAzon=5;

17 Feladatok: Hány olyan diák van, akit a 2-es azonosítójú tanár tanít? Adjuk meg a tDiak táblában szereplők születési évszámát! Adjuk meg a 10 és 20 év közötti diákok tanárainak nevét, abc sorrendben. (Minden név csak egyszer szerepeljen!) Listázzuk ki az összes diákot, akik 15 és 25 éves kor között vannak, vagy a vezetéknevük „Okos”! Adjuk meg a tanított diákok száma alapján csökkenő sorrendbe rendezve, hogy az egyes tanárok hány diákot tanítanak!


Letölteni ppt "– SELECT - 2. – Tarcsi Ádám 2005. március Adatbázis gyakorlat."

Hasonló előadás


Google Hirdetések