Adatbázis használat I. 2. gyakorlat

Hasonló dokumentumok
Adatbázis használat I. 2. gyakorlat

1.1. Feladat Listázza ki a 20-as részleg dolgozóinak nevét, belépési idejét, foglalkozását a nevek szerint csökkenően rendezve.

Adatbázis használat I. 1. gyakorlat

KENDE MÁRIA NAGY ISTVÁN: Oracle Példatár(SQL-PL/SQL) Házi feladatok a 3.gyakorlathoz: 1. fejezet: Egyszerű lekérdezések

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

LEKÉRDEZÉSEK SQL-BEN. A relációs algebra A SELECT utasítás Összesítés és csoportosítás Speciális feltételek

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

2012. április 13. TARTALOM

Adattípusok. Max. 2GByte

ADATBÁZISOK I. Az esetleges hibákat kérlek a csongor@csongorbokay.com címen jelezd! Utolsó módosítás: március 20.

Adattípusok. Max. 2GByte

Adatbázisok I. Az SQL nyelv

Csoportosított adatok megjelenítése összesítı függvények használatával. Copyright 2004, Oracle. All rights reserved.

Oracle Példatár (SQL-PL/SQL)

2007. február 25. TARTALOM

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

Adatok szűrése, rendezése

Adatbázis rendszerek SQL nyomkövetés

SELECT DISTINCT deptno FROM emp; (distinct) SELECT STATEMENT HASH UNIQUE TABLE ACCESS FULL EMP

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

ADATBÁZIS HASZNÁLAT I. 4. gyakorlat

Adatbázisok* tulajdonságai

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Bódy Bence Az SQL egy újabb példán keresztül

Adatbázisok I A relációs algebra

Alkalmazói rendszerek ACCESS ZH - javítókulcs Informatika tanár MSC, levelező tagozat, január 06.

ADATBÁZISOK I. ELŐADÁS ÉS GYAKORLAT JEGYZET

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

BEVEZETÉS Az objektum fogalma

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális)

Adatbázis használat I. 5. gyakorlat

Adatbázisok II. rész

Lekérdezések az SQL-ben 1.rész

LOGISZTIKAI ADATBÁZIS RENDSZEREK UNIÓ, ALLEKÉRDEZÉSEK

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Lekérdezések az SQL-ben 1.rész

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ KÖZÉPSZINT% GYAKORLATI ÉRETTSÉGI VIZSGA. É R E T T S É G I V I Z S G A május 15.

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

SELECT. SELECT(projekció) FROM(forrás) WHERE(szűrés) GROUPBY(csoportosítás) HAVING(csoportok szűrése) ORDERBY(rendezés)

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

5.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

SQL feladatok megoldasa

ÉRETTSÉGI VIZSGA EMELT SZINT% GYAKORLATI. ÉRETTSÉGI VIZSGA május 14. Összesen: 45 pont. Egy adott távhoz tartozó díjazás meghatározása 4 pont

JAVÍTÁSI-ÉRTÉKELÉSI INFORMATIKA ÚTMUTATÓ. ÉRETTSÉGI VIZSGA október 19. ÉRETTSÉGI VIZSGA EMELT SZINT% GYAKORLATI MINISZTÉRIUMA EMBERI ERFORRÁSOK

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );

A SELECT működése. Ttanar tábla: Tdiak tábla:

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

INFORMATIKAI ALAPISMERETEK

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

Adatbázis-kezelés. Harmadik előadás

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

2006. május 1. TARTALOM

Óravázlat. az ECDL oktatócsomaghoz. 5. modul. Adatbáziskezelés. Krea Kft Budapest, Szőlő u 21. Tel/fax: / krea@krea.

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Adatbáziskezelés. SQL parancsok. Függvények

Adatbázis Rendszerek II. 8. Gyakorló környezet

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Adatbázis-kezelés, információs-rendszerek

4. Előadás Az SQL adatbázisnyelv

2015/10/14 14:45 1/32 Emelet szint

Lekérdezések az SQL SELECT utasítással

Access alapok. Megnevezés Művelet Minta. Új adatbázis létrehozása. Új / Üres adatbázis.. Tábla létrehozása tervező nézetben.

Csoportosított adatok megjelenítése sorhalmaz függvények használatával

Relációs algebrai lekérdezések átírása SQL SELECT-re (példák)

Adatbázis kezelés Delphiben. SQL lekérdezések

Java és web programozás

SQL gyakorló feladatok. 6. Adatbázis gyakorlat április 5.

ADATBÁZISKEZELÉS ADATBÁZIS

Paraméteres-, összesítı- és módosító lekérdezések

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

Adatbázis-kezelés Feladatok és megoldások

Java és web programozás

Informatikus informatikus Térinformatikus Informatikus É 1/6

Adatbázis, adatbázis-kezelő

2012. április 27. TARTALOM

Adatbázisok elmélete 9. előadás

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

PL/SQL feladatok 8. gyakorlat

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

INFORMATIKA. PRÓBAÉRETTSÉGI május KÖZÉPSZINT. Pontozási és javítási útmutató

CAD-CAM informatikus CAD-CAM informatikus

Adatbázis-kezelés Feladatok és megoldások

TABLE ACCESS FULL HASH CLUSTER BY INDEX ROWID BY USER ROWID BY GLOBAL INDEX ROWID BY LOCAL INDEX ROWID

WHERE záradék (további lehetıségek) SQL specialitások, nem írhatók át relációs algebrába: LIKE. NULL értékek. Az ismeretlen (unknown) igazságérték

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlaton a következőket fogjuk gyakorolni:

XML adatkezelés. 11. témakör. Az XQuery nyelv alapjai. XQuery. XQuery célja egy imperatív lekérdező nyelv biztosítása. XQuery.

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

SQL parancsok feldolgozása

SQL feladatok és megoldások

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

INFORMATIKAI ALAPISMERETEK

LBRA6i integrált rendszer

Átírás:

Adatbázis használat I. 2. gyakorlat

Tudnivalók Oracle 10g a weben: http://www.oracle.com/technetwork/databa se/database10g/downloads/index.html FF kiírásokat legkésőbb a jövő hétre hozni! 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 2

Egy kis ismétlés Irassuk ki azon dolgozók nevét, munkakörét és fizetését, akiknek a fizetése 1500 USD alatt van. A lista fejléce legyen Név, Munkakör, Fizetés, rendezzen a dolgozók neve szerint. 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 3

Megoldás SELECT ename AS Név, job AS Munkakör, sal AS Fizetés FROM emp WHERE sal < 1500 ORDER BY ename; 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 4

További feltétel kifejezések Írassuk ki azon dolgozók nevét, munkakörét és fizetését, akiknek a fizetése 1500 és 2500 USD között van. A lista fejléce legyen Név, Munkakör, Fizetés, rendezzen a dolgozók neve szerint. 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 5

Megoldás SELECT ename AS Név, job AS Munkakör, sal AS Fizetés FROM emp WHERE sal BETWEEN 1500 AND 2500 ORDER BY ename; 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 6

További feltétel kifejezések Irassuk ki azon dolgozók nevét, munkakörét és fizetését, akiknek a fizetése NINCS 1500 és 2500 USD között. A lista fejléce legyen Név, Munkakör, Fizetés, rendezzen a dolgozók neve szerint. 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 7

Megoldás SELECT ename AS Név, job AS Munkakör, sal AS Fizetés FROM emp WHERE sal NOT BETWEEN 1500 AND 2500 ORDER BY ename; 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 8

További feltétel kifejezések Írassuk ki a clerk munkakörű dolgozók nevét, munkakörét, fizetését. A lista fejléce legyen Név, Munkakör, Fizetés, rendezzen a dolgozók neve szerint. SELECT ename, job, sal FROM emp WHERE job LIKE '%clerk%'; Mi történt? Pedig van clerk!!! 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 9

Megoldás Kis és nagybetűk itt számítanak! SELECT ename, job, sal FROM emp WHERE job LIKE '%CLERK%'; vagy: SELECT ename, job, sal FROM emp WHERE job LIKE UPPER('clerk'); 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 10

További feltétel kifejezések De mi van akkor, ha több munkakörre is kíváncsiak vagyunk? Mondjuk salesman és clerk SELECT ename, job, sal FROM emp WHERE UPPER(job) IN ('SALESMAN', 'CLERK'); Megjegyzés: vagy LOWER(job) IN (' salesman', 'clerk'); 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 11

Mi az eredmény és miért? SELECT ename AS Név, sal AS Fizetés, sal+comm AS Jövedelem FROM emp ORDER BY sal+comm DESC; 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 12

Helyes megoldás SELECT ename AS Név, sal AS Fizetés, sal+nvl(comm,0) AS Jövedelem FROM emp ORDER BY Jövedelem DESC; 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 13

Még egy-két apróság Milyen munkakörök léteznek ennél a cégnél? SELECT job FROM emp; De nekem elég, ha egy munkakört csak egyszer listáz SELECT DISTINCT job FROM emp; 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 14

Még egy-két apróság Ki kap jutalékot? Vigyázat, aki nem kap, annál az érték nem 0, hanem nincs is ott semmi! A WHERE comm=0; nem fog működni. SELECT ename, comm FROM emp WHERE comm IS NOT NULL; 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 15

Még egy-két apróság Műveletek dátumokkal SELECT ename AS Név, hiredate AS Dátum, EXTRACT(YEAR FROM hiredate) AS BeÉv, EXTRACT(MONTH FROM hiredate) AS BeHó, EXTRACT(DAY FROM hiredate) AS BeNap FROM emp WHERE hiredate > TO_DATE('1981.máj.05'); 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 16

Csoportfüggvények AVG COUNT SUM MIN MAX -átlag -számosság - összegzés - minimum - maximum 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 17

Csoportosítás GROUP BY Példa: legnagyobb fizetés részlegenként SELECT deptno, MAX(sal) FROM emp GROUP BY deptno; 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 18

Önálló feladat A főnök szeretné látni részlegenként: A legalacsonyabb fizetést; A legmagasabb fizetést; Az átlagos fizetést; A létszámot. 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 19

Megoldás SELECT deptno AS Részleg, MIN(sal) AS Legkisebb, MAX(sal) AS Legnagyobb, AVG(sal) AS Átlag, COUNT(*) AS Létszám FROM emp GROUP BY deptno; 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 20

Akkor egy bonyolult példát A legkisebb, a legnagyobb és az átlagos részlegenkénti létszámok: SELECT MIN(COUNT(*)), MAX(COUNT(*)), ROUND(AVG(COUNT(*)),2) FROM emp GROUP BY deptno; 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 21

Szűrés csoportokra 2000 USD-nál nagyobb átlagjövedelmű részlegek, a jövedelem szerint rendezve SELECT deptno, ROUND(AVG(sal+NVL(comm,0))) AS átlagjövedelem FROM emp GROUP BY deptno HAVING ROUND(AVG(sal+NVL(comm,0))) > 2000 ORDER BY átlagjövedelem ASC; 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 22

Szűrés csoportokra Listázzuk főnökönként (mgr) a jutalékban nem részesülő dolgozóinak átlagfizetését csökkenő sorrendben, feltéve, hogy ez az érték 1000 USD-nál több. 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 23

Megoldás SELECT AVG(sal) AS "Átlagfizetés", mgr AS "Főnök" FROM emp WHERE comm IS NULL AND mgr IS NOT NULL GROUP BY mgr HAVING AVG(sal) >1000 ORDER BY "Átlagfizetés" DESC; 2011. 02. 15. nagy.gabriella@nik.uni-obuda.hu 24