Adatbázisok használata 2. gyakorlat Rózsa Győző
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
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 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 SELECT FROM WHERE GROUP BY HAVING ORDER 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 * from emp 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ése PL: SELECT ename, hiredate FROM emp WHERE (TO_CHAR(sysdate,’YYYY’)-23) > TO_CHAR(hiredate,’YYYY’);
SPECIÁLIS fv-k NVL 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-k UPPER/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-k INSTR, 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 LENGTH Karakterlánc hosszát adja vissza
SPECIÁLIS fv-k ROUND ROUND(oszlopnév, tizedesjegyek_száma) Megadott számú tizedesjegyekre kerekít egy számot.
SPECIÁLIS fv-k RPAD, 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;