2023. január 26., csütörtök

2023.01.25. SQL

Vettük a GROUP BY, és a Having záradékokat.

A tananyag pdf-ben van, azon felül a digifüzetből is kell tanulni. Segítségképpen használjátok Ákos füzetét, ha kell:

2023.01.10 sql




2023.10.12 Diákok adatbázis:

Tananyagból kell megtanulni a lekérdezéseket + SELECT szuletesi_ev, nev FROM diakok ORDER BY szuletesi_ev, nev DESC

 kiírja szuletési évet és a nevet születési év szerint növekvőbe azonos éven belül pedig névszerint csökkenőben

a TOP MS SQL-ben működik csak, helyette mi MYSQL-ben  a limitet használjuk


több szóból áll, kell az idézőjel



sorokat számol a count


Irassuk ki a legutoljára beiratkozott diák nevét és dátumát


2023.01.18 Órai






2023.01.18. SQL - Diákok feladatlap megoldása

Egy lehetséges megoldás:

/* 1. Listázzuk ki azok nevét, akinek a születési helye általad megadott betűvel kezdődik. */

SELECT nev FROM diakok WHERE szuletesi_hely LIKE "A%";

/* 2. Listázzuk ki azok nevét, akinek a születési helye általad megadott kétjegyű betűvel végződik. */

SELECT nev FROM diakok WHERE szuletesi_hely LIKE "%Gy";

/* 3. Listázzuk ki azok nevét, akinek a születési helyében valahol az általad megadott 3 betű (egymás mellett) benne van. */

SELECT nev FROM diakok WHERE szuletesi_hely LIKE "%ape%";

/* 4. Listázzuk ki azoknak a diákoknak 3 választott tulajdonságát, akiknek az egyik,

 választott szöveges tulajdonsága általad választott betűvel végződik. */

SELECT nev,szuletesi_hely,szuletesi_ev FROM diakok WHERE szuletesi_hely LIKE "%B";

/* 5. Listázzuk ki azoknak a diákoknak 2 tulajdonságát, akiknek a nevében van

 általad választott betű és egy általad választott évben születtek. */

SELECT nev, szuletesi_ev FROM `diakok` WHERE nev LIKE "%t%" AND szuletesi_ev=1990;

/* 6. Listázzuk ki az összes tulajdonságot, az oszlopfejlécben mindegyiknek egy új szöveg jelenjen meg.

 (pl. a neveknél: A diák neve, stb.) Ne kelljen felsorolni a mezőneveket. */

SELECT ID AS "Azonosító", nev as "Név", beiratkozas as "Beiratkozás", szuletesi_hely as "Születési hely", szuletesi_ev as "Születési év" FROM `diakok`;

/* 7. Listázzuk ki csak az első sort, a diák tetszőleges tulajdonságaival. */

SELECT * FROM `diakok` LIMIT 1;

/* 8. Írjuk ki, hány sora van az adattáblának. */

SELECT COUNT(ID) FROM `diakok`;

/* 9. Írjuk ki a legkisebb értéket valamelyik szám/dátum típusú mező esetén. Használjunk aggregáló függvényt. */

SELECT MIN(szuletesi_ev) FROM `diakok`;

/* 10. Írjuk ki a legnagyobb értéket valamelyik másik szám/dátum típusú mező esetén.

 Használjunk aggregáló függvényt. */

SELECT MAX(beiratkozas) FROM `diakok`;

/* 11. Átlagosan hány évesek a tanulók? Írjuk ki csak ezt az egy adatot. */

SELECT AVG(2023 - szuletesi_ev) FROM `diakok`;

/* 12. Mely születési helyek szerepelnek az adattáblában? Írjuk ki őket, mindegyiket csak egyszer. */

SELECT DISTINCT szuletesi_hely FROM `diakok`;

/* 13. Listázzuk ki a tanulók tetszőleges adatait valamelyik tulajdonság szerinti abc sorrendben (növekvő). */

SELECT * FROM `diakok` ORDER BY nev ASC;

/* 14. Listázzuk ki azoknak a tanulóknak a születési helyét születési hely szerinti csökkenő abc sorrendben,

akik 1988 és 1990 között születtek (a két értéket nem beleértve). */

SELECT szuletesi_hely FROM `diakok` WHERE szuletesi_ev > 1988 and szuletesi_ev < 1990  ORDER BY szuletesi_hely DESC;


2023.01.24 Órai In anyag


ez ugyan az: SELECT * FROM diakok

WHERE szuletesi_hely IN ('Karcag', 'Kisvárda');



2023.01.25 Órai Group by

melyik településen hányan laknak



count(*) szerint csökkenőbe igy kell, melyik évben mennyien születtek

ugyanaz a megoldás, mint a fenti, de count(*) helyett azt adjuk meg,hogy hanyadik mező jelen esetben a 2. mezőt kellett rendezni

 having használata count ahol 1-nél többen jelentkeztek azokat a napokat írta ki

ki választottuk azokat a sorokat ahol a darabszám nagyobb mint 1

a having záradék hasonló mint a where záradék de a group by után írandó és a group by által leválogatott sorokra vonatkozik





2023. január 24., kedd

2023.01.24. SQL

 Ismételtük, és továbbmentünk az anyagban, elkezdtük a Group by-t.

2023.01.24. Összefoglaló feladat – Tömbök - Munkanélküliek

Jövő kedden tz a tömbökből. 

Most pénteken tesztes ("elmélet") röpi a tömbökből, struktúrából.

Összefoglaló feladat – Tömbök - Munkanélküliek  Házi feladat befejezni.                          

A három legelmaradottabb megyében kezeljük a szakiskolákból frissen kikerült munkanélküliek adatait ebben az évben. (A feladat tartalma és a benne szereplő adat teljes mértékben kitalált.)

1       feladat:

       Hozz létre egy 3 elemű tömböt, melybe kérd be a három legelmaradottabb megye nevét!

2       feladat:

       Hozz létre egy újabb tömböt, melybe bekéred az előbbi megyékben a szakiskolai végzettségű friss munkanélküliek számát.

3       feladat:

       Tárold konstansban a szakiskolai végzettségű friss munkanélküliek országos számát: 12.000 fő.

       Írd ki a képernyőre (ne tárold sehol) azt a számított értéket megyénként, hogy hány százaléka a helyi, szakiskolai végzettségű, friss munkanélküliek száma az országos értéknek. A megye nevét az első tömbből vedd. A számításhoz használd fel a második tömb elemeit, és a konstanst. Például:

       „Nógrád megyében a szakiskolai végzettségű munkanélküliek aránya az országos értékhez viszonyítva 10%.”

       Tehát 3 ilyen sort kell kiírnod (megyénként egyet).

A minisztérium a jövő évre is szeretne tervezni, de még nincsenek adatai. Azért, hogy tudjon kalkulálni, becsült értékeket képez. Ehhez kapcsolódik a következő feladat.

4       feladat:

       Hozz létre egy új tömböt, és benne tárold le a következő számított értékeket soronként: szorozd meg a második tömb elemeinek értékét egy 0 és 5 közötti véletlen számmal.

       Miközben képzed ezeket az értékeket, egy változóban gyűjtsd azok aktuális összegét.

       Írd ki a képernyőre ennek a harmadik tömbnek a tartalmát.

       Írd ki a képernyőre, hogy hány szakiskolai végzettségű munkanélküli várható a (harmadik tömbből számított) becslés szerint.

2023. január 20., péntek

2023.01.20. Gyakorló feladatlap

Házi feladat

//1. feladat:

        //Kérd be egy háromszög oldalainak hosszát, és ezeket tárold
        //egy haromszog nevű tömbben.
        //2. feladat:
        //Hozz létre egy új tömböt ujHaromszog néven, amelynek elemeit
        //töltsd fel egy olyan háromszög oldalainak hosszértékeivel,
        //aminek oldalai negyedakkorák, mint az első feladatban megadott háromszögé.
        //3. feladat:
        //Egy etelek nevű tömbben tárold le 3 étel nevét nagybetűsen!
        //Ezeket az értékeket a felhasználótól kérd be.
        //Utólag vizsgáld meg az értékeket.
        //Ha nem nagybetűsen írta be bármelyiket, a program strukturált módszert használva fejeződjön be.
        //Írd át mindegyik tömbben tárolt nevet a kisbetűs megfelelőjére
        //(ott a helyén, a tömbben, függvénnyel)!
        //Írasd ki az új értékeket a képernyőre, számozd meg a sorokat!
        //4. feladat:
        //Egy szamok nevű tömbben tárold le a következő számokat
        //(ki kell számoltatni a programmal):
        //100-ból 50,
        //200 fele,
        //20 osztva 2-vel művelet maradéka,
        //10 a negyediken,
        //40-ben a 4.
        //5. feladat:
        //Tölts föl 0 és 500 közötti véletlen számokkal egy
        //200 elemű tömböt.
        //Írd ki őket a képernyőre egy utasítással, egymás mellé,
        //mindegyiket 5 hossz szélességen, a számok között legyen vessző!

2023. január 19., csütörtök

2023.01.20. Házi feladat: Programozás füzeteket rendbe tenni

  • minden bejegyzés meglegyen
  • mindegyiknek legyen a blogból címsora
  • minden saját feladatmegoldásod benne legyen, ehhez vigyél haza minden megoldásodat a hálózatról
  • minden színes legyen benne

(Saját megjegyzések, jegyzetek, kérdések, stb., plusz címsorok lehetnek benne. )

Bármikor kaphatsz rá érdemjegyet.


2023. január 18., szerda

2023.01.19. SQL

 Diákok - felmérő feladatlap

2023.01.18. SQL - Diákok feladatlap megoldása

Egy lehetséges megoldás:

/* 1. Listázzuk ki azok nevét, akinek a születési helye általad megadott betűvel kezdődik. */

SELECT nev FROM diakok WHERE szuletesi_hely LIKE "A%";
/* 2. Listázzuk ki azok nevét, akinek a születési helye általad megadott kétjegyű betűvel végződik. */
SELECT nev FROM diakok WHERE szuletesi_hely LIKE "%Gy";
/* 3. Listázzuk ki azok nevét, akinek a születési helyében valahol az általad megadott 3 betű (egymás mellett) benne van. */
SELECT nev FROM diakok WHERE szuletesi_hely LIKE "%ape%";
/* 4. Listázzuk ki azoknak a diákoknak 3 választott tulajdonságát, akiknek az egyik,
 választott szöveges tulajdonsága általad választott betűvel végződik. */
SELECT nev,szuletesi_hely,szuletesi_ev FROM diakok WHERE szuletesi_hely LIKE "%B";
/* 5. Listázzuk ki azoknak a diákoknak 2 tulajdonságát, akiknek a nevében van
 általad választott betű és egy általad választott évben születtek. */
SELECT nev, szuletesi_ev FROM `diakok` WHERE nev LIKE "%t%" AND szuletesi_ev=1990;
/* 6. Listázzuk ki az összes tulajdonságot, az oszlopfejlécben mindegyiknek egy új szöveg jelenjen meg.
 (pl. a neveknél: A diák neve, stb.) Ne kelljen felsorolni a mezőneveket. */
SELECT ID AS "Azonosító", nev as "Név", beiratkozas as "Beiratkozás", szuletesi_hely as "Születési hely", szuletesi_ev as "Születési év" FROM `diakok`;
/* 7. Listázzuk ki csak az első sort, a diák tetszőleges tulajdonságaival. */
SELECT * FROM `diakok` LIMIT 1;
/* 8. Írjuk ki, hány sora van az adattáblának. */
SELECT COUNT(ID) FROM `diakok`;
/* 9. Írjuk ki a legkisebb értéket valamelyik szám/dátum típusú mező esetén. Használjunk aggregáló függvényt. */
SELECT MIN(szuletesi_ev) FROM `diakok`;
/* 10. Írjuk ki a legnagyobb értéket valamelyik másik szám/dátum típusú mező esetén.
 Használjunk aggregáló függvényt. */
SELECT MAX(beiratkozas) FROM `diakok`;
/* 11. Átlagosan hány évesek a tanulók? Írjuk ki csak ezt az egy adatot. */
SELECT AVG(2023 - szuletesi_ev) FROM `diakok`;
/* 12. Mely születési helyek szerepelnek az adattáblában? Írjuk ki őket, mindegyiket csak egyszer. */
SELECT DISTINCT szuletesi_hely FROM `diakok`;
/* 13. Listázzuk ki a tanulók tetszőleges adatait valamelyik tulajdonság szerinti abc sorrendben (növekvő). */
SELECT * FROM `diakok` ORDER BY nev ASC;
/* 14. Listázzuk ki azoknak a tanulóknak a születési helyét születési hely szerinti csökkenő abc sorrendben,
akik 1988 és 1990 között születtek (a két értéket nem beleértve). */
SELECT szuletesi_hely FROM `diakok` WHERE szuletesi_ev > 1988 and szuletesi_ev < 1990  ORDER BY szuletesi_hely DESC;

2025.02.19.[helyettesítés] SQL feladatmegoldás - AI alapú önálló gyakorlás

A következő feladatsor a dolgozatokra készít fel, ahol egészen hasonló feladatokat fogtok kapni. Kérem a hiányzókat is, hogy pótoljanak lehe...