create table nyomtato as ( select * from system.nyomtato ); select * from termek where TÍPUS = 'pc' and gyarto = 'B'; select * from laptop where memoria like '2___'; select * from laptop where memoria like '2__'; select * from laptop where merevlemez like '%2%'; select * from hajok where hajonev like '%ma%'; --Feladat: --Azok a hajok, amik nevében szerepel a Royal kifejezés és 1910-es években lettek felavatva select * from hajok where hajonev like '%Royal%' and felavatva like '191_'; -- FUGGVENYEK -- -- AGGREGALO / CSOPORTOSITO -- AVG() - Atlagertekkel ter vissza -- COUNT() - Darabszammal ter vissza -- FIRST() - Az elso ertekkel ter vissza -- LAST() - Az utolso ertekkel ter vissza -- MAX() - A legnagyobb ertekkel ter vissza -- MIN() - A legkisebb ertekkel ter vissza -- SUM() - Az elemek osszegevel ter vissza -- -- SKALAR -- UCASE() - Nagybetusre konvertalja a bemeneti mezot, bemenet: attributum -- LCASE() - Kisbetusre konvertalja a bemeneti mezot, bemenet: attributum -- MID() - Szoveges mezo egy reszet keri le, bemenet: attributum, honnan, meddig -- LEN() - A bemeneti szoveges mezo hosszaval ter vissza, bemenet: attributum -- ROUND() - Kerekiti a bemeno szamot a megadott tizedesekre, bemenet: attributum, tizedesek -- NOW() - Jelenlegi datummal es idovel ter vissza -- FORMAT() - Adott formatumra konvertalja a bemeneti attributumot, altalaban datumokra. -- NEM MIND MUKODIK -- PL.: DEVELOPERBEN TO_CHAR( ATTRIBUTUM, 'FORMATUM' ) -- TO_DATE( ATTRIBUTUM, 'FORMATUM' ) - DÁTUMMÁ KONVERTÁLÁS -- NOW() HELYETT SYSDATE -- UPPER ÉS LOWER select upper(hajonev), lower(osztaly) from hajok; -- HAVING zaradek -- Ha a feltetelt egy csoportosito fuggvennyel akarjuk megadni. -- Pl: Azok a gyartok kellenek, amik pc sebessege nagyobb mint atlag 2000 -- ORDER BY zaradek -- Sorba rendez az attributum altal. -- Very useful. -- FELADATOK --1. PC-k atlagos sebessege select avg(sebesseg) as atlag from pc; --2. 1000-nel dragabb PC-k atlagos sebessege select avg(sebesseg) as atlag from pc where ar > 1000; --3. A gyártó átlagos PC árak select avg(ar) as atlag from pc natural join termek where gyarto like 'A'; select round(avg(ar),2) as atlag from pc natural join termek where gyarto like 'A'; --4. minden gyarto atlagos pc-i select gyarto,avg(ar) as atlag from pc natural join termek group by gyarto; --5. D által gyártott PC-k és laptopok átlagos ára select avg(ar) as atlag from pc natural join termek union select avg(ar) as atlag from laptop natural join termek; --6. minden pc sebesseghez az ilyen sebessegu pc-k atlagos ara select sebesseg, avg(ar) from PC group by sebesseg; --7. minden gyarto eseten a laptopok atlagos kepernyomerete select gyarto, avg(KEPERNYO) from laptop natural join termek group by gyarto; --8. azok a gyartok akik legalabb haromfajta PC-t gyartanak select gyarto from termek natural join pc group by gyarto having count(modell)>=3 order by gyarto; --9. minden gyarto eseten a maximalis pc ar select gyarto, max(ar) from pc natural join termek group by gyarto order by gyarto; --10. hajoosztalyok szama select count(osztaly) as hajoosztalyok_szama from hajoosztalyok; --11. hajoosztalyok atlagos és osszes agyuszama orszagonkent csoportositva select orszag, avg(agyukszama)as atlagos_agyuk_szama, sum(agyukszama) as agyuk_szama_osszesen from hajoosztalyok group by orszag; --12. minden hajoosztalyhoz az eloszor felavatott hajot, kora evekben select osztaly, min(felavatva) as felavatva, ( to_char( SYSDATE, 'YYYY' ) - min(felavatva) ) as kor from hajoosztalyok natural join hajok group by osztaly order by kor; --13. hajoosztalyoknal az elsullyedt hajok szama select osztaly, count(hajonev) as elsullyedtek_szama from hajoosztalyok natural join hajok natural join kimenetelek where eredmeny like 'elsullyedt' group by osztaly order by elsullyedtek_szama; --14. elozo, de legalabb 3 hajo legyen az osztalyban -- nested bevezeto select osztaly, count(hajonev) as elsullyedtek_szama from ( select osztaly from hajoosztalyok natural join hajok group by osztaly having count(hajonev)>3 ) natural join hajok natural join kimenetelek where eredmeny like 'elsullyedt' group by osztaly order by elsullyedtek_szama;