Adatbázis gyakorlat – SUBSELECT – Tarcsi Ádám 2005. március.

Slides:



Advertisements
Hasonló előadás
2012. tavaszi félév Vitéz Gergely. 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.
Advertisements

10. gyakorlat SQL SELECT.
Tananyag: konzultáció
2012. tavaszi félév Vitéz Gergely. 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.
Anyagadatbank c. tárgy gyakorlat
PL/SQL folytatás Kurzorok Alprogramok Tárolt eljárások ADATBÁZIS ALAPÚ RENDSZEREK.
Elmaradás.  0 Számjegy. Ebben a pozícióban egyetlen számjegyet kell megadnia.  9 Számjegy. Ebben a pozícióban egyetlen számjegyet lehet megadni, nem.
Microsoft Access Lekérdezések.
2012. tavaszi félév Vitéz Gergely. 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.
Delphi programozás alapjai
5. GYAKORLAT SQL CREATE TABLE, aktualizálás. S QL Structured Query Language A relációs adatbáziskezelés szabványos nyelve Nem algoritmikus, de beépíthető.
– SQL 2: Adatok kezelése – Tarcsi Ádám, január 30. Adatbázis gyakorlat.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
Többtáblás lekérdezések, allekérdezések Rózsa Győző
megismerése, mintaadatbázis létrehozása
SQL – DQL (Data Query Language ) adat lekérdezések
INSERT INTO Egy vagy több rekordot ad hozzá a táblához. Egyetlen rekordot hozzáfűző kifejezés: INSERT INTO cél_tábla (mező1,mező2,…) VALUES (érték1, érték2,
SQL Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések
Adatbáziskezelés Horváth Ernő.
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
2006. október 2.Markó Tamás, PTE TTK1 Az Oracle SQL 5. Nézettáblák létrehozása, módosítása és törlése.
SQL 1 SEQUEL, Structured English Query Language: SQL ANSI, ISO: SQL86, SQL89, SQL92. Alap (entry), közbenső (intermediate), teljes (full) szint. A DDL.
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
ADATBÁZISOK
ADATBÁZISOK
ADATBÁZISOK
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
Nézettáblák létrehozása, módosítása és törlése
1 Informatikai Szakképzési Portál Adatbázis kezelés DML – Adat manipuláló nyelv.
SQL. SQL = Structured Query Language (= struktúrált lekérdező nyelv). A relációs adatbázis-kezelés szabványos nyelve. Nem algoritmikus nyelv, de algoritmikus.
SQL.
Az SQL nyelv alapjai.
DML. Új rekord beszúrása: INSERT INTO tábla (oszlop1,oszlop2,…) VALUES (érték1,érték2,…); Rekord módosítása: UPDATE tábla SET oszlop = érték WHERE feltétel;
Adatbázis adminisztrátori ismeretek
2012. tavaszi félév Véső Tamás. Kérdezze le minden dolgozó nevét, jövedelmét, részlegének nevét és a részlegében dolgozók legkisebb és legnagyobb jövedelmét,
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
2012. tavaszi félév Véső Tamás Véső Tamás OE­NIK / 29.
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!
ADATBÁZIS HASZNÁLAT I. 3. gyakorlat. Figyelem!!! A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem.
Adatbázis-kezelés SQL-lel
Készítette: Tóth Ervin
Az SQL nyelv. SQL Az SQL utasításait két fő csoportba szokták sorolni: DDL (= Data Definition Language): adatstuktúra definiáló utasítások. DML (= Data.
DQL. A select parancs az adattábla lekérdezésére szolgál, azaz a táblában tárolt adatok közül az előírt feltételeknek megfelelőket kiválogatja. Formája.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 10. gyakorlat SQL SELECT, Összekapcsolás, Nézettáblák.
XML fejlesztések TSQL fejlesztések Tábla paraméter SQLCLR fejlesztések 8k limit feloldása Több paraméteres UDA-ek Ordered UDF-ek Entity Framework ADO.NET.
1 Sramó András Adatbázis-technológia V. előadás Adatbázis-technológia 5. előadás Az SQL.
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
Adatbázis-kezelés Tarcsi Ádám január. 15. MySQL és PHP.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
Tarcsi Ádám, Adatbázis gyakorlat – Adattáblák – Tarcsi Ádám, január.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
SQL SELECT parancsok Kottyán László. A bemutató mintatáblái.
Ma az un. Relációs adatmodelleket használjuk.
5. gyakorlat Fleiner Rita.
SQL haladó Külső összekapcsolások, Csoportosítás/Összesítés,
Többtáblás lekérdezések, hierarchikus lekérdezések, allekérdezések
SQL történelem 1970 Edgar F. Codd (IBM) cikke 12 szabály a relációs adatmodellekre 1979 első kereskedelmi forgalmazású relációs adatbáziskezelő 1986 az.
SQL. SQL jellemzői Nem algoritmikus (nem tartalmaz algoritmikus szerkezeteket: ciklus, eljárás, elágazás) Nem rekurzív (önmagát nem hívhatja) Halmazorientált.
Adatbázis-kezelés 3-4. Adatok lekérdezése utasítás általános formája SELECT [ALL/DISTINCT] {*/, …, } FROM [ ], …, [ ] [WHERE GROUP BY, …, HAVING ORDER.
Adatbázis-kezelés. Középszint: –1-2 tábla –SQL-nyelv és lekérdező-rács használata –Űrlap és jelentés készítés Emelt szint: –több tábla (kapcsolatok) –több.
1 Verseny 2000 gyakorlat SQL 2000 Server Portál adatbázis létrehozása.
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
Adatbázis-kezelés 1-2. adatbázis-kezelő rendszer 1.új adatbázisokat hozhassanak (adat definició 2.lekérdezések és módosítások (adat manipuláció) 3.Támogassa.
Ami még kimaradt. Halmazműveletek A lekérdezések eredmény sorainak halmazát tekintve több lekérdezés között értelmezhetjük a szokásos halmaz műveleteket.
SQL aggregálás, csoportosítás és összekapcsolás Adatbázisok 1.
1 SQL jogosultság-kezelés Privilégiumok Grant és Revoke Grant Diagrammok.
Triggerek gyakorlás.
SQL Több táblás lekérdezések. Halmazműveletek. Alkérdések
Adatbázisok SQL.
Előadás másolata:

Adatbázis gyakorlat – SUBSELECT – Tarcsi Ádám 2005. március

Miről lesz szó? SUBSELECT INSERT, DELETE, UPDATE – select Gyakorlás

Allekérdezés - subselect Allekérdezés olyan SELECT utasítás, amely értéke(ke)t ad át egy külső utasításnak. WHERE-ben vizsgálandó értékeket másik SELECT-ből hozzuk. Pl.: Ki idősebb, mint a 13-as azonosítójú diák? SELECT nev FROM tdiak WHERE kor> (SELECT kor WHERE DAzon=13); Hogy is van ez? Az eddig tanult lekérdezések korlátja, hogy csak olyan kérdéseket tehetünk fel, amikre a válasz megadható a kiindulási tábláink direktszorzatából képzett sorok szűrésével és/vagy csoportosításával. Nagyon egyszerűen fel tudunk tenni olyan kérdést, ami ezzel az eszközrendszerrel nem megválaszolható. Pl.: „Melyik tanár nem osztályfőnök?” …

Allekérdezés – subselect – 2. Jelentőségük: ha egy külső utasítás eredménytáblájában valamely sor kiválasztása egy teljes tábla kiértékelésétől függ. Először a belső SELECT hajtódik végre, ez lesz a külső feltétele. WHERE, HAVING, FROM utasításrészben Mindig egy összehasonlító operátor jobb oldalán van! Zárójelbe ( ) kell tenni Nem tartalmazhat ORDER BY utasításrészt Fajái: egysoros többsoros

Egysoros subselect A belső SELECT egyetlen sort ad vissza DISTINCT záradékkal segíthetünk! Példa: Listázzuk ki azokat a diákokat, akik legalább kétszer olyan idősek, mint a legfiatalabb diák. Kiket tanít még ‘Kis Pista’ tanára?

Többsoros subselect Hibás, ha az előbbi alselect több sort ad vissza. Összehasonlító operátort használunk: IN / NOT IN: a lista bármely elemével egyenlő ANY: listát ad vissza, ha van egy elem, ami kielégíti a feltételt, akkor a WHERE feltétel teljesül ALL: listát ad vissza Teljesül a feltétel, ha a visszaadott lista minden eleme minden tagja teljesíti EXIST: a feltétel teljesül, ha az allekérdezés legalább egy sort ad vissza. Amennyiben az alkérdés egynél több sort eredményezhet, és a felsőbb kérdés az adott helyen csupán egyetlen értéket vár, meg kell adnunk, milyen szabály szerint képezzünk egyetlen IGAZ vagy NEM IGAZ logikai értéket a soronként elvégzett összehasonlítások alapján. Az lehet a feladat, hogy a főkérdésben megadott mező (kifejezés) az alkérdés eredményei közül: Legalább eggyel, (legalább egy esetben igaz - ANY) Vagy mindegyikkel bizonyos relációban van-e, (minden esetben igaz – ALL) Legalább eggyel nem (legalább egy esetben nem igaz – NOT ALL), Vagy semelyikkel sincs a megadott relációban (egyetlen esetben sem igaz – NOT ANY).  ANY, ALL, NOT ANY/ALL Megadott érték előfordulásának vizsgálata: IN

Subselect feladatok Adjuk meg azon tanárokat, akik legalább egy diákot tanítanak! Adjuk meg azon tanárokat, akik nem tanítanak egy diákot sem!

Allekérdezés -2. INSERT INTO INSERT INTO <táblanév> (<mezőnév1>, …, <mezőnévn>)(<al-select>) INSERT INTO tDiak (DAzon, Nev, Kor, TAzon)(SELECT DAzon, Nev, Kor, 1 FROM tOsztaly) INSERT INTO tDiak (DAzon, Nev, Kor, TAzon)(SELECT *, 1 FROM tOsztaly)

Allekérdezés -3. – UPDATE UPDATE <táblanév> SET <mezőnév1> = <érték1>, …, <mezőnévk> = <értékk> WHERE <feltétel al-select-ekkel> Változtassuk a TAzon mező értékét 3-ra azon diákoknál, akiket Nagy Aranka tanít! UPDATE tDiak SET TAzon=3 WHERE TAzon IN (SELECT TAzon FROM tTanar WHERE Nev=’Nagy Aranka’)

Allekérdezés -3. – DELETE FROM DELETE FROM <táblanév> WHERE <feltétel al-select-ekkel> Töröljük azokat a tanárokat, akik egy diákot sem tanítanak! DELETE FROM tTanár WHERE TAzon NOT IN (SELECT TAzon FROM tDiak)

Alkérdés CREATE TABLE-ben (… ) AS SELECT …