SQL
Megjelenés
Főnév
SQL (tsz. SQLs)
Az SQL (Structured Query Language) egy deklaratív programozási nyelv, amelyet relációs adatbázis-kezelő rendszerekben (RDBMS) használnak adatok lekérdezésére, módosítására és kezelésére. Az SQL nem egy általános célú programozási nyelv, hanem kifejezetten adatbázis-műveletekre szabott, emiatt a very high-level language (VHLL) kategóriába sorolható.
📦 Mire használjuk?
| Művelet | Példa | Leírás |
|---|---|---|
| Lekérdezés | SELECT |
Adatok kinyerése táblákból |
| Beszúrás | INSERT |
Új sor(ok) hozzáadása |
| Módosítás | UPDATE |
Létező adatok szerkesztése |
| Törlés | DELETE |
Sor(ok) törlése |
| Struktúra kezelés | CREATE, ALTER, DROP |
Tábla, nézet, index, stb. létrehozása vagy módosítása |
| Jogosultság | GRANT, REVOKE |
Felhasználók hozzáféréseinek kezelése |
🧾 Alap szintaxis példák
➤ Táblából lekérdezés
SELECT name, age
FROM students
WHERE age > 18
ORDER BY name ASC;
➤ Új adat beszúrása
INSERT INTO students (name, age)
VALUES ('Anna', 22);
➤ Adatok frissítése
UPDATE students
SET age = age + 1
WHERE name = 'Anna';
➤ Sor törlése
DELETE FROM students
WHERE age < 18;
🔍 SQL jellemzői
| Tulajdonság | Részletezés |
|---|---|
| Deklaratív nyelv | Leírod mit szeretnél, nem hogyan |
| Standardizált | ISO és ANSI szabványon alapul |
| Kiterjeszthető | Különböző DBMS-ek (pl. MySQL, PostgreSQL, Oracle, MS SQL Server) bővítik |
| Nem Turing-teljes | Klasszikus SQL nem tud általános programokat futtatni (nincs ciklus, rekurzió), de PL/SQL vagy T-SQL igen |
📚 További fogalmak
1. JOIN – Több tábla összekapcsolása
SELECT orders.id, customers.name
FROM orders
JOIN customers ON orders.customer_id = customers.id;
Típusai: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN.
2. GROUP BY – Csoportosítás és aggregálás
SELECT department, COUNT(*)
FROM employees
GROUP BY department;
3. Allekérdezés (subquery)
SELECT name
FROM students
WHERE age > (SELECT AVG(age) FROM students);
4. Nézetek (VIEW) – Lekérdezések virtuális táblaként
CREATE VIEW adults AS
SELECT * FROM students WHERE age >= 18;
🧠 Miért “very high-level”?
- Egy sorban végrehajtható komplex adatfeldolgozás (pl.
AVG,JOIN,GROUP BY) - Nem kell gondolnod a végrehajtás módjára – a DBMS optimalizálja
- Valódi deklaratív nyelv – teljes mértékben problémaorientált
⚖️ Előnyök és hátrányok
| Előny | Hátrány |
|---|---|
| Kompakt, jól olvasható lekérdezések | Bonyolult logika nehezen kezelhető |
| Deklaratív és könnyen tanulható | Hagyományos programozásra nem alkalmas |
| Standardizált, hordozható | Eltérések lehetnek különböző DBMS-ek között |
| Erőteljes optimalizálás | A végrehajtási tervet nem tudod közvetlenül irányítani |
🌐 SQL bővítmények
| Név | Leírás |
|---|---|
| PL/SQL (Oracle) | Eljárásorientált bővítés, vezérlési szerkezetekkel |
| T-SQL (SQL Server) | Microsoft-féle procedurális SQL |
| pgSQL (PostgreSQL) | PostgreSQL procedurális bővítménye |
🧩 Összefoglalás
Az SQL egy nagyon magas szintű deklaratív nyelv, amelyet relációs adatbázisokkal való munkára terveztek. Lehetővé teszi, hogy az adatokat hatékonyan, tömören és olvashatóan manipuláljuk anélkül, hogy részleteznénk a háttérben zajló végrehajtási lépéseket.