150 likes | 240 Views
Adatbázisok használata 2. gyakorlat. 2012. 02. 21. Rózsa Győző raver @ raver.myip.hu. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!. Diák. http://gorex.gorextar.hu/ab1/
E N D
Adatbázisok használata2. gyakorlat 2012. 02. 21. Rózsa Győzőraver@raver.myip.hu
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!
Diák • http://gorex.gorextar.hu/ab1/ • http://www.orakulum.com
Ismétlés • SELECT EMPNO, ENAME, JOB, MGR, HIREDATE FROM EMP;
ED • EDITOR • Ed [akarmi]Megnyílik a jegyzettömb, és létrehozza az [akarmi].sql –t. Ide lehet írni utasításokat, amit tárolhatunk is akár. • @[akarmi] Lefuttatja az [akarmi].sql –t
Logikai kifejezések • Logikai műveletjelek • AND, OR, NOT • Hasonlítások • >, >=, =, <=, <, != • LIKE • Intervallum • BETWEEN ah AND fh • NULL érték • IS NULL / IS NOT NULL
Rendezés – ORDER BY • SELECTFROMWHEREGROUP BYHAVINGORDER BY oszlopnév ASC|DESC [AND …..];
Rendezés – Gyakorlás • Listázza ki csökkenő sorrendben az emp tábla azon dolgozóit (minden adatukkal), akiknek a fizetése, kisebb, mint 1230$ • Listázza ki emelkedő sorrendben azok neveit, és fizetését, akik nem kaptak jutalmat • SELECT * fromemp WHERE sal < 1230 ORDER BY ENAME DESC; • SELECT ENAME, SAL FROM EMP WHERE comm IS NULL ORDER BY ENAME ASC;
SPECIÁLIS fv-k- TO_CHAR • TO_CHAR([dátum],[MASZK])A dátumból „használható” adat kinyerésePL: SELECT ename, hiredate FROM emp WHERE (TO_CHAR(sysdate,’YYYY’)-23) > TO_CHAR(hiredate,’YYYY’);
SPECIÁLIS fv-kNVL • NVL([vizsgálandó], [helyettesítési érték]) • Az NVL függvény, ha NULL értéket talál egy adott helyen, akkor azt a megadott értékkel helyettesíti. • Példa:SELECT ename, sal, comm FROM emp;SELECT ename, sal, NVL(comm,’NINCS’) FROM emp;
SPECIÁLIS fv-kUPPER/LOWER • Átalakít egy adott karakterláncot csupa kis/csupa nagy betűre • Miért van erre szükség? • Példa: Listázza ki azon dolgozók minden adatát, akiknek a foglalkozása clerk • SELECT * FROM emp WHERE upper(job) = upper(’clerk’); • Figyeljünk arra, hogy milyen idézőjelet használunk!!!
SPECIÁLIS fv-kINSTR, SUBSTR, LENGTH • INSTR pl:INSTR(ename,’SM’)Meg lehet vizsgálni, hogy egy adott karaktert, avagy karakterláncot tartalmaz e az adott kifejezés. Ha igen, akkor visszaadja, hogy hol fordul elő, ha nem, akkor 0-át ad vissza • SUBSTR SUBSTR(kifejezés, hányadiktól, hányat)Karakterláncot darabolhatunk • LENGTHKarakterlánc hosszát adja vissza
SPECIÁLIS fv-kROUND • ROUND(oszlopnév, tizedesjegyek_száma)Megadott számú tizedesjegyekre kerekít egy számot.
SPECIÁLIS fv-kRPAD, LPAD • Az R és az L közt a különbség, hogy az egyik jobbra, a másik pedig balra igazítja a karakterláncot, és a másik oldalról kitölti a helyettesítő karakterrel. • Nézzük meg egy példán keresztül:SELECT RPAD(ename,6) || RPAD(’:’, ROUND((sal/1000),0)+1, ’#’) AS „Alkalmazottak és fizetésük” FROM emp ORDER BY sal DESC;
Másodlagos oszlopnevek • Lekérdezésekkor az oszlopoknak az „AS” parancs segítségével adhatunk más, egyedi nevet. • A zárthelyikben a másodlagos oszlopnevek használata kötelező! • Példa: SELECT ENAME AS ”NÉV”, JOB AS ”MUNKAKÖR” FROM emp;