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
).
- A dolgozó neve (
-
CONCAT(irsz, '-', varos) AS város
:- A
CONCAT
fü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
dolgozo
tá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
varos
mező értékeit „városok” néven jeleníti meg.
- A
-
FROM dolgozo
:- A
dolgozo
tá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
nev
mező szerint rendezi az adatokat növekvő (ABC) sorrendben. AzASC
az 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
nev
mező 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
varos
mező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
nem
mezőt szűri, hogy csak a férfi alkalmazottakat ('F'
) vegye figyelembe.
- További feltételként a