Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- select * from regisztralo;
- select * from eloadas;
- select * from jelentkezes;
- 1. A regisztráló táblában az elsődleges kulcs az az legyen
- az előadás táblában szintén, a jelentkezés táblában a
- két mező együtt!
- alter table regisztralo add constraint pk primary key(az);
- alter table eloadas add constraint pk_ea primary key(az);
- alter table jelentkezes add constraint pk_jel primary key(regisztraloaz, eloadasaz);
- 1,2. Készítsen egy táblát, amelyben a MOODLE előadások adatai szerepelnek!(A szó szerepel a címében!)
- create table Moodles as select * from eloadas where cim like '%MOODLE%';
- 1,3. Oldja meg, hogy a jelentkezés táblába ne lehessen olyan regisztrálót és előadás azonosítót felvinni, amelyek
- nem szerepelnek a regisztráló illetve az előadás táblában!
- alter table jelentkezes add constraint refi foreign key(regisztraloaz) references regisztralo(az);
- alter table jelentkezes add constraint refi2 foreign key(eloadasaz) references eloadas(az);
- 1,4. Ha törlődik egy rekord az előadás táblában, törlődjön a jelentkezés táblában is!
- alter table jelentkezes add constraint refi2 foreign key(eloadasaz) references eloadas(az) on delete cascade;
- 1,5. A regisztráló táblában a vegetáriánus táblába a default érték -1 legyen, a regdátum pedig a mai dátum.
- alter table regisztralo modify vegetarianus varchar2(2) default -1;
- alter table regisztralo modify regdatum varchar2(15) default sysdate;
- 2. Kik azok a regisztrálók, akiknél az érkezési idő
- nincs kitöltve? (is null)
- select nev from regisztralo where erkido is null;
- 3. Kik azok a regisztrálók, akiknél az érkezési idő
- nincs kitöltve, de jelentkeztek valamelyik előadásra?
- select nev from regisztralo inner join jelentkezes on jelentkezes.REGISZTRALOAZ=regisztralo.az where erkido is null ;
- 4. Kik azok a regisztrálók, akiknél az érkezési idő
- nincs kitöltve, de nem jelentkeztek valamelyik előadásra?
- select nev from regisztralo left join jelentkezes on jelentkezes.REGISZTRALOAZ=regisztralo.az where erkido is null and jelentkezes.REGISZTRALOAZ is null;
- select nev from regisztralo left join jelentkezes on jelentkezes.REGISZTRALOAZ=regisztralo.az where erkido is null and az not in(select regisztraloaz from jelentkezes);
- 5. Adja meg, hogy hányan regisztráltak az egyes órákban?
- (8:xx, 9:xx, 10:xx, 11:xx, 12:xx stb.);
- select substr(erkido,1,2) as Óra, count(*) as Darab from regisztralo group by substr(erkido,1,2);
- select substr(regdatum,1,2) as Hónap, count(*) as Darab from regisztralo group by substr(regdatum,1,2) order by substr(regdatum,1,2);
- 6. Ki regisztrált legkorábban?
- select nev from regisztralo where regdatum=(select max(regdatum) from regisztralo);
- select nev from (select nev from regisztralo order by regdatum desc) where rownum=1;
- 7. Az egyes előadásokra ki nem érkeztek meg a jelentkezők közül?
- (3. feladat)
- 8. Az előadás neve és a nem érkező neve legyen megjelenítve!
- 9. Adja meg, hogy az egyes előadásra (címe) hányan jelentkeztek!;
- select cim, count(*) as "A jelentkezők száma" from eloadas inner join jelentkezes on jelentkezes.ELOADASAZ=eloadas.AZ group by eloadas.CIM;
- 10. Adj meg annak az előadásnak a címét, amelyre a legtöbben jelentkeztek!;
- select cim, as "A jelentkezők száma" from eloadas inner join jelentkezes on jelentkezes.ELOADASAZ=eloadas.AZ group by cim having count(*)=(select max(count(*)) from eloadas inner join jelentkezes on jelentkezes.ELOADASAZ=eloadas.AZ group by cim order by count(*) desc);
- 11. Két megoldás van, sőt három, a harmadikat mutatom:
- SELECT cim FROM
- (SELECT cim, count(*) FROM jelentkezes inner join eloadas
- order by count(*) desc group by cim ) WHERE ROWNUM =1;
- A belső select cimenként ad egy értéket, a külső abből kiadja mind1iknek a címét de csak az első sort.
- Mivel csökkenőben van a belső select eredmény, így csak a legnagyobb jelenik meg.
- 12. Adja meg, hogy az egyes előadásokra kik jelentkeztek!
- (cim és név jelenjen meg.)
- 13. Melyik teremben hányan voltak a jelentkezések száma alapján? Ha valaki nem érkezett meg, akkor nem volt ott!
- 14. Adja meg, hogy melyik hónapban hányan regisztráltak!
- 15. Adja meg annak a hónapnak a nevét, amelyikben a legtöbben
- regisztráltak!
- 16. Adja meg azoknak a nevét és az előadás címét, amelyre jelentkeztek azok közül, akik márciusban regisztráltak 8-10 óra között! (A 8:00 és a 10:00 is "játszik")
- 17. Adja meg, hogy hány "vega" nem érkezett meg!
- 18. Adja meg azokat az előadásokat, amelyekre nem jelentkeztek!
- 19. Van-e olyan regisztráló, aki nem jelentkezett semelyik előadásra?
- 20. Készítsen lekérdezést, amely az érkezési idő alapján kilistázza azok nevét, akik nem voltak jelen az ebéd kezdetekor!
- 21 Készítsen lekérdezést, amely ábécérendben listázza azoknak nevét és azonosítóját, akik részt vettek a Drupallal foglalkozó előadások valamelyikén! Minden személy csak egyszer
- jelenjen meg!
- 22. Készítsen lekérdezést, amely az előzetes jelentkezési létszám alapján megadja, hogy melyik a legnépszerűbb előadás! Adja meg az előadás címét
- 23. Ferenczi Janka és Berger Georgina még az egyetemről ismerik egymást. Akkor hasonló volt az érdeklődési körük. Annak kiderítésére, hogy ez változott-e, készítsen lekérdezést,
- amely megjeleníti azon előadások idejét, címét és helyét, amelyre mindketten jelentkeztek! (
- 24. Hozzon létre a regisztralo táblában egy logikai típusú, eload nevű mezőt! Majd Készítsen lekérdezést, amely az eload mező értékét igazra állítja, ha az illető azonosítója az előadók között is szerepel!
- 25. Készítsen lekérdezést, amely felsorolja azon jelentkezők nevét, akik ugyan megérkeztek, de lekésték az általuk választott előadások egyikét! Minden személy neve csak egyszer
- jelenjen meg! Feltételezheti, hogy aki időben érkezett, az meg is hallgatta az általa választott előadásokat.
- SELECT * FROM (SELECT * FROM ORDER BY ) WHERE ROWNUM <= N;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement