adatbázis

SELECT Lekérdezések – SQL

Adatbázis – SQL

Lekérdezések – SQL

Feladatok
(Az előző bejegyzésben készített adatbázist veszem alapul)

1. Listázd ki a dolgozók adatait név szerint csökkenő sorrendben
SELECT FROM dolgozo
ORDER BY dolgozo.nev DESC

2. Készíts egy lekérdezést, amely megjeleníti a dolgozó nevét, egy mezőben az irányítószámot és várost ‘-‘-el elválasztva város néven, valamint az utca_hsz mezőt.
SELECT nev AS dolgozó_neve, CONCAT(irsz, ‘-‘, varos) AS város, utca_hsz FROM dolgozo;

  • nev AS dolgozó_neve:

    • A dolgozó neve (nev mező) jelenik meg egyértelmű címkével (dolgozó_neve).
  • CONCAT(irsz, '-', varos) AS város:

    • A CONCAT függvény összefűzi az irsz (irányítószám) és varos (város) mezőket, egy - karakterrel középen.
    • Az eredményt „város” néven aliasolja, hogy az oszlop neve egyértelmű legyen.
  • utca_hsz:

    • Az utca és házszámot tartalmazó mezőt közvetlenül jeleníti meg.
  • FROM dolgozo:

    • A dolgozo tábla az adatforrás.

3. Listázd ki, milyen városokból jönnek a dolgozók
SELECT DISTINCT varos AS városok FROM dolgozo;

  • SELECT DISTINCT:

    • Csak az egyedi városokat jeleníti meg, így egy város csak egyszer fog szerepelni az eredményben.
  • varos AS városok:

    • A varos mező értékeit „városok” néven jeleníti meg.
  • FROM dolgozo:

    • A dolgozo táblából kérdezi le az adatokat.

4. Listázd ki ABC sorrendben az első 5 dolgozót
SELECT nev FROM dolgozo ORDER BY nev ASC LIMIT 5;

  • SELECT nev:

    • Csak a nev (név) mezőt jeleníti meg az eredményben.
  • ORDER BY nev ASC:

    • A nev mező szerint rendezi az adatokat növekvő (ABC) sorrendben. Az ASC az alapértelmezett, de expliciten is megadható.
  • LIMIT 5:

    • Csak az első 5 rekordot adja vissza az eredményben.

5. Listázd ki ABC sorrendben az 5-7. dolgozót
SELECT nev FROM dolgozo ORDER BY nev ASC LIMIT 3 OFFSET 4;

  • SELECT nev:

    • Csak a nev (név) mezőt jeleníti meg az eredményben.
  • ORDER BY nev ASC:

    • A nev mező szerint rendezi az adatokat növekvő (ABC) sorrendben.
  • LIMIT 3:

    • Csak 3 rekordot ad vissza, mert az 5., 6. és 7. dolgozót szeretnénk látni.
  • OFFSET 4:

    • Kihagyja az első 4 rekordot (az 1-4. dolgozót).

6. Listázd ki az 5 legjobban kereső alkalmazott adatait

SELECT nev, fizetes, szigszam, varos, utca_hsz FROM dolgozo ORDER BY fizetes DESC LIMIT 5;

  • SELECT nev, fizetes, szigszam, varos, utca_hsz:

    • Csak azokat az oszlopokat jeleníti meg, amelyekre szükséged van: név, fizetés, személyi szám (szigszam), város, utca és házszám.
  • ORDER BY fizetes DESC:

    • A dolgozókat a fizetes (fizetés) mező szerint rendezi csökkenő sorrendben (DESC).
  • LIMIT 5:

    • Az eredményhalmazból csak az első 5 rekordot jeleníti meg, azaz a legjobban kereső 5 dolgozót.

7. Listázd ki a veszprémi vagy ajkai férfi alkalmazottak nevét, fizetését
SELECT nev, fizetes FROM dolgozo WHERE (varos = ‘Veszprém’ OR varos = ‘Ajka’) AND nem = ‘F’;    vagy
SELECT nev, fizetes FROM dolgozo WHERE varos IN (‘Veszprém’, ‘Ajka’) AND nem = ‘F’;

  • SELECT nev, fizetes:

    • Csak a nev (név) és a fizetes (fizetés) oszlopokat jeleníti meg.
  • WHERE (varos = 'Veszprém' OR varos = 'Ajka'):

    • A varos mezőt szűri úgy, hogy csak azok a rekordok jelenjenek meg, ahol a város „Veszprém” vagy „Ajka”.
  • AND nem = 'F':

    • További feltételként a nem mezőt szűri, hogy csak a férfi alkalmazottakat ('F') vegye figyelembe.