Kihagyás

SQL Data Query Language (DQL)

Az SQL Data Query Language (DQL) az SQL nyelv azon része, amely az adatok lekérdezésével foglalkozik. A DQL leggyakoribb utasítása a SELECT.

SELECT Utasítás

A SELECT utasítás lehetővé teszi adatok lekérdezését egy vagy több táblából.

Szintaxis

SELECT oszlopok_lista
FROM tablanév
[WHERE feltétel]
[GROUP BY oszlopok_lista]
[HAVING feltétel]
[ORDER BY oszlopok_lista [ASC | DESC]];

Példa

SELECT nev, cim
FROM felhasznalok
WHERE varos = 'Budapest'
ORDER BY nev;

Ez a parancs lekérdezi a nev és cim oszlopokat a felhasznalok táblából, ahol a varos oszlop értéke 'Budapest', és rendezés történik a nev oszlop alapján.

Összetett Lekérdezések

A DQL lehetővé teszi összetett lekérdezések végrehajtását is, amelyek tartalmazhatnak több tábla összekapcsolását, al-lekérdezéseket, és funkciókat.

Példa Összekapcsolásra (JOIN)

SELECT f.nev, o.nev
FROM felhasznalok f
JOIN rendelesek o ON f.id = o.felhasznalo_id
WHERE f.varos = 'Budapest';

Ez a lekérdezés összekapcsolja a felhasznalok és rendelesek táblákat a felhasználók ID-ja alapján, és lekérdezi azoknak a felhasználóknak a nevét és rendeléseit, akik Budapest városban élnek.

JOIN Típusok

Az INNER JOIN kulcsszó az SQL-ben arra használható, hogy két vagy több táblából összefüggő adatokat kérjünk le. Ez a művelet csak azokat a sorokat adja vissza, amelyeknél van egyezés a csatlakoztatott táblákban.

Szintaxis

SELECT oszlopok_lista
FROM tabla1
INNER JOIN tabla2
ON tabla1.kozos_oszlop = tabla2.kozos_oszlop
WHERE feltetel
GROUP BY oszlopok_lista
HAVING feltetel
ORDER BY oszlopok_lista ASC;

Példa

Tegyük fel, hogy van egy Dolgozok táblánk az alkalmazottak nevével és azonosítójával, valamint egy Rendelesek táblánk az alkalmazottak által leadott rendelésekkel. Az INNER JOIN segítségével összekapcsolhatjuk a két táblát az alkalmazottak azonosítója alapján, hogy megtekinthessük, melyik alkalmazott milyen rendelést adott le.

Dolgozok tábla

ID Nev
1 Kovács Béla
2 Nagy Eszter
3 Szabó Péter

Rendelesek tábla

RendelesID AlkalmazottID Termek
100 1 Telefon
101 2 Laptop
102 1 Tablet

INNER JOIN használata

SELECT Dolgozok.Nev, Rendelesek.Termek
FROM Dolgozok
INNER JOIN Rendelesek ON Dolgozok.ID = Rendelesek.AlkalmazottID;

Eredmény

Nev Termek
Kovács Béla Telefon
Nagy Eszter Laptop
Kovács Béla Tablet

Megjegyzések

  • A DQL elsősorban az adatok olvasására koncentrál, nem módosítja azokat.
  • A SELECT utasítás nagyon rugalmas, és lehetővé teszi szűrők, rendezések, csoportosítások és összetett feltételek alkalmazását.
  • Az összetett lekérdezések megértése és hatékony használata elengedhetetlen a különböző adatbázis-műveletek során.