Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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

Hasonló előadás


Az előadások a következő témára: "– SUBSELECT – Tarcsi Ádám 2005. március Adatbázis gyakorlat."— Előadás másolata:

1 – SUBSELECT – Tarcsi Ádám március Adatbázis gyakorlat

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

3 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 FROM tdiak WHERE DAzon=13); Hogy is van ez?

4 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

5 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?

6 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.

7 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!

8 Allekérdezés -2. INSERT INTO INSERT INTO (, …, )( ) 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)

9 Allekérdezés -3. – UPDATE UPDATE SET =, …, = WHERE 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’)

10 Allekérdezés -3. – DELETE FROM DELETE FROM WHERE 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)

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


Letölteni ppt "– SUBSELECT – Tarcsi Ádám 2005. március Adatbázis gyakorlat."

Hasonló előadás


Google Hirdetések