Adatbázis-kezelés. 7. SQL Táblák összekapcsolása



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

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

Adattípusok. Max. 2GByte

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

Adatbázisok* tulajdonságai

A könyv tartalomjegyzéke

Az SQL lekérdeznyelv

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

Adattípusok. Max. 2GByte

BEVEZETÉS Az objektum fogalma

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ázis rendszerek SQL nyomkövetés

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

SQL parancsok feldolgozása

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

DLookup függvény 1. (5)

Programozás I gyakorlat

ADATBÁZIS-KEZELÉS. Funkcionális függés, normál formák

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

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

Adatbázis használat I. 5. gyakorlat

2012. tavaszi félév Vésı Tamás

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.

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

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

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

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

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

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

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

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

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

INFORMATIKAI ALAPISMERETEK

2. Az adatbázis-kezelés alapjai

Dolgozó Kód Név Város Beosztás Belépés Fizetés Osztály. Adatbázis-kezelés alapjai SQL 2: DQL. v: B IT MAN 169/1

Adatbázisok I A relációs algebra

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

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

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

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

CAD-CAM informatikus CAD-CAM informatikus

A táblázatkezelő felépítése

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

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

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

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

SQL DDL-2 (aktív elemek) triggerek

5. modul - Adatbázis-kezelés

LOGISZTIKAI ADATBÁZIS RENDSZEREK SQL ALAPOK,

Az éves statisztikai összegezés STATISZTIKAI ÖSSZEGEZÉS AZ ÉVES KÖZBESZERZÉSEKRŐL A KLASSZIKUS AJÁNLATKÉRŐK VONATKOZÁSÁBAN

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

SQL feladatok megoldasa

Diszkrét matematika I. gyakorlat

B I T M A N B I v: T M A N

Dinamikus geometriai programok

Adabáziskezelés gyakorlat SQL

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

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

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

1. forduló. MEGOLDÁSOK Pontszerző Matematikaverseny 2015/2016-os tanév

Java és web programozás

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

E-ADÓ RENSZER HASZNÁLATI ÚTMUTATÓ

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

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

Adatbázisok I. Az SQL nyelv

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

B I T M A N B I v: T M A N

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

Analízis elo adások. Vajda István szeptember 24. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

INFORMATIKAI ALAPISMERETEK

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

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

Gyakorlati vizsgatevékenység

Illeszkedésvizsgálat

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

Tankönyv példák kidolgozása

Párhuzamos programozás

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

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

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

Feltöltő kártya akció!

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

É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

MÁRKAPOZÍCIONÁLÁS TARTALOMMAL. DUDÁS KRISZTINA Marketingigazgató

Többtáblás lekérdezések megjelenítése

Shared IMAP beállítása magyar nyelvű webmailes felületen

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

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 október 17.

FORTE MAP 5.0 Felhasználói tájékoztató

Adatok szűrése, rendezése

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

Gazdasági folyamatok térbeli elemzése. 5. elıadás

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.

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

Több tábla összekapcsolásán alapuló lekérdezések

A döntő feladatai. valós számok!

Adatbázis használat I. 2. gyakorlat

Az SQL adatbázisnyelv: DML

Átírás:

Adatbázis-kezelés 7. SQL Táblák összekapcsolása

Adatok kinyerése több táblából Táblák összekapcsolásának alapja: kulcs idegen kulcs Az 5-nél több aranyat nyert országok nevét listázzuk ki. két tábla tartalmazza a szükséges adatokat. SELECT [reláció.]attributum, [reláció.]attributum,... FROM relációk WHERE kapcsoló_attributum operátor kapcsoló_attributum;

Két tábla összekapcsolása Pl.: SELECT * FROM o_erem_tabla, o_orszagok WHERE orszag_azon = azon; SELECT * FROM o_erem_tabla, o_orszagok WHERE orszag_azon = azon and arany > 5; Equijoin, mert egyenlőségen alapul. Ha szükséges használjunk álnevet a táblákhoz, melyekkel minősíteni tudjuk az azonos nevű különböző táblabeli oszlopokat.

INNER JOIN (szoros illesztés) Az INNER JOIN használatával, a lekérdezés eredményébe nem kerülnek bele azon reláció1-beli elemek, amelyeknek nincs megfelelőjük a reláció2 táblában. SELECT attributum1, attributum2, attributum3, FROM reláció1 INNER JOIN reláció2 ON reláció1.attributum = reláció2.attributum;

INNER JOIN SELECT Alk_kod, Beosztas, A.Reszleg_kod FROM Alkalmazott A INNER JOIN Reszleg R ON A.Reszleg_kod=R.Reszleg_kod

LEFT JOIN (laza illesztés) Megjeleníthető az első tábla minden adata az eredményben attól függetlenül, hogy nincs a feltételben megadott tulajdonságú mező a második táblában. SELECT Alk_kod, Beosztas, R.Reszleg_kod, R.Reszleg_nev FROM Alkalmazott A LEFT JOIN Reszleg R ON A.Reszleg_kod=R.Reszleg_kod

RIGHT JOIN A RIGHT JOIN lehetővé teszi, hogy a második táblában lévő összes adatot megjelenítsük függetlenül attól, hogy az első táblában van-e hozzátartozó mező. SELECT Alk_kod, Beosztas, R.Reszleg_kod, R.Reszleg_nev FROM Alkalmazott A RIGHT JOIN Reszleg R ON A.Reszleg_kod=R.Reszleg_kod

SELF JOIN Egy tábla önmagával való összekapcsolása alias név segítségével. Pl.: Jelenítsük meg azoknak az eladóknak és szerelőknek a nevét és fizetését akik ugyanabban a részlegben dolgoznak és a szerelőnek nagyobb a fizetése. SELECT E.Alk_nev, SZ.Alk_nev FROM Alkalmazott E, Alkalmazott SZ WHERE E.Beosztas= Eladó AND SZ.Beosztas= Szerelő AND E.Reszleg_kod=SZ.Reszleg_kod AND E.Fizetes<SZ.Fizetes;

Példák összekapcsolásra 1. Írassa ki a győri részleg dolgozóinak adatait! 2. Írassa ki részleg nevenként csoportosítva a legmagasabb és legalacsonyabb fizetést! 3. Írassa ki részleg címenként csoportosítva az átlagfizetést és a létszámot! SELECT Alk_nev, Reszleg_nev FROM Alkalmazott A, Reszleg R WHERE A.Reszleg_kod=R.Reszleg_kod AND Reszleg_cim= Győr ; SELECT Reszleg_nev, MAX(Fizetes) Legmagasabb_fizetes, MIN(Fizetes) FROM Alkalmazott A, Reszleg R WHERE A.Reszleg_kod=R.Reszleg_kod GROUP BY Reszleg_nev; SELECT Reszleg_cim, AVG(Fizetes), COUNT(*) Letszam FROM Alkalmazott A, Reszleg R WHERE A.Reszleg_kod=R.Reszleg_kod GROUP BY Reszleg_cim;

Gyakorlás INSERT INTO UJ_RESZLEG SELECT * FROM Reszleg WHERE Cím= Debrecen ; UPDATE Alkalmazott SET Fizetes=1,1*Fizetes WHERE Alk_nev in (SELECT Alk_nev from Alkalmazott, Reszleg WHERE Reszleg_cim <> BUDAPEST AND Alkalmazott.Reszleg_kod=Reszleg.Reszleg_kod);

Egymásba ágyazott lekérdezések Írassa ki azoknak a dolgozóknak a nevét, beosztását és fizetését akiknek a fizetése több mint Balogh fizetése! SELECT alk_nev, beosztas, fizetes FROM alkalmazott WHERE fizetes > (SELECT fizetes FROM alkalmazott WHERE alk_nev='balogh'); 11

Egymásba ágyazott lekérdezések 2. Írassa ki azon részlegek kódját, nevét és címét, amelyekben nem dolgozik senki! SELECT * FROM Reszleg WHERE reszleg_kod NOT IN (SELECT reszleg_kod FROM alkalmazott) 12

Egymásba ágyazott lekérdezések 3. Írassa ki azon alkalmazottak kódját és nevét akik Királlyal azonos telephelyen dolgoznak! SELECT Alk_kod, Alk_nev FROM Alkalmazott WHERE reszleg_kod = (SELECT reszleg_kod FROM alkalmazott WHERE Alk_nev= Kiraly ) 13

UNION (SQL utasítás1) UNION (SQL utasítás2) vagy (SQL utasítás1) UNION ALL (SQL utasítás2) Több táblára vonatkozó lekérdezés, melyben a lekérdezések eredményének uniójára van szükségünk. Az UNION használatával az egyedi értékek kerülnek megjelenítésre, ha nem ezt szeretnénk, akkor a UNION ALLkulcsszót használhatjuk, ekkor minden érték megjelenik a listában. Az egyes oszlopoknak ugyanolyan típusúnak kell lenni! Pl.: diakok(nev, osztaly, osztalyfonok) tanarok(nev, szak) ( SELECT nev FROM diakok ) UNION ( SELECT nev FROM tanarok )

Metszet (INTERSECT) és különbség (MINUS) (SQL utasítás1) INTERSECT (SQL utasítás2) Az Unió művelet mintájára a lekérdezések metszetét, vagyis közös részét (INTERSECT) is vehetjük. (SQL utasítás1) MINUS (SQL utasítás2) Ekkor azon elemeket kapjuk eredményül, amelyeket úgy kapnánk, hogy az első lekérdezésben szerepelő adatokból elhagynánk azokat, amelyek a második lekérdezés eredményében is szerepelnek.