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 (
nevmező) jelenik meg egyértelmű címkével (dolgozó_neve).
- A dolgozó neve (
-
CONCAT(irsz, '-', varos) AS város:- A
CONCATfüggvény összefűzi azirsz(irányítószám) ésvaros(város) mezőket, egy-karakterrel középen. - Az eredményt „város” néven aliasolja, hogy az oszlop neve egyértelmű legyen.
- A
-
utca_hsz:- Az utca és házszámot tartalmazó mezőt közvetlenül jeleníti meg.
-
FROM dolgozo:- A
dolgozotábla az adatforrás.
- A
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
varosmező értékeit „városok” néven jeleníti meg.
- A
-
FROM dolgozo:- A
dolgozotáblából kérdezi le az adatokat.
- A
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.
- Csak a
-
ORDER BY nev ASC:- A
nevmező szerint rendezi az adatokat növekvő (ABC) sorrendben. AzASCaz alapértelmezett, de expliciten is megadható.
- A
-
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.
- Csak a
-
ORDER BY nev ASC:- A
nevmező szerint rendezi az adatokat növekvő (ABC) sorrendben.
- A
-
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.
- Csak azokat az oszlopokat jeleníti meg, amelyekre szükséged van: név, fizetés, személyi szám (
-
ORDER BY fizetes DESC:- A dolgozókat a
fizetes(fizetés) mező szerint rendezi csökkenő sorrendben (DESC).
- A dolgozókat a
-
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 afizetes(fizetés) oszlopokat jeleníti meg.
- Csak a
-
WHERE (varos = 'Veszprém' OR varos = 'Ajka'):- A
varosmezőt szűri úgy, hogy csak azok a rekordok jelenjenek meg, ahol a város „Veszprém” vagy „Ajka”.
- A
-
AND nem = 'F':- További feltételként a
nemmezőt szűri, hogy csak a férfi alkalmazottakat ('F') vegye figyelembe.
- További feltételként a
