← Vissza

SELECT

Adatok lekérdezése táblából.

SELECT name, age FROM users;

WHERE

Feltétel megadása lekérdezéshez.

SELECT * FROM users WHERE age > 18;

INSERT

Új sor beszúrása táblába.

INSERT INTO users (name, age) VALUES ('Anna', 25);

UPDATE

Adatok módosítása táblában.

UPDATE users SET age = 26 WHERE name = 'Anna';

DELETE

Sorok törlése táblából.

DELETE FROM users WHERE age < 18;

CREATE TABLE

Új tábla létrehozása.

CREATE TABLE users (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  age INT
);

ALTER TABLE

Tábla szerkezetének módosítása.

ALTER TABLE users ADD email VARCHAR(100);

DROP TABLE

Tábla törlése.

DROP TABLE users;

JOIN

Táblák összekapcsolása közös mező alapján.

SELECT u.name, o.amount
FROM users u
JOIN orders o ON u.id = o.user_id;

GROUP BY

Eredmények csoportosítása.

SELECT age, COUNT(*) 
FROM users 
GROUP BY age;

ORDER BY

Eredmények rendezése.

SELECT * FROM users ORDER BY age DESC;

LIMIT

Eredmények számának korlátozása.

SELECT * FROM users LIMIT 5;

PRIMARY KEY

Egyedi azonosító oszlop.

CREATE TABLE users (
  id INT PRIMARY KEY,
  name VARCHAR(50)
);

FOREIGN KEY

Kapcsolat másik tábla kulcsával.

CREATE TABLE orders (
  id INT PRIMARY KEY,
  user_id INT,
  FOREIGN KEY (user_id) REFERENCES users(id)
);

HAVING

Csoportosított eredmények szűrése feltétel alapján.

SELECT age, COUNT(*) 
FROM users 
GROUP BY age 
HAVING COUNT(*) > 2;

UNION

Két lekérdezés eredményének összekapcsolása.

SELECT name FROM users
UNION
SELECT name FROM admins;

UNION ALL

Két lekérdezés összekapcsolása duplikátumok megtartásával.

SELECT name FROM users
UNION ALL
SELECT name FROM admins;

EXISTS

Feltétel teljesülése, ha a belső lekérdezés ad vissza sort.

SELECT name FROM users u
WHERE EXISTS (
  SELECT 1 FROM orders o WHERE o.user_id = u.id
);

IN

Érték ellenőrzése egy lista elemei között.

SELECT * FROM users WHERE age IN (18, 25, 30);

BETWEEN

Érték ellenőrzése tartományban.

SELECT * FROM users WHERE age BETWEEN 18 AND 30;

LIKE

Mintaillesztés szövegben.

SELECT * FROM users WHERE name LIKE 'A%';

CASE

Feltételes értékadás lekérdezésben.

SELECT name,
CASE 
  WHEN age < 18 THEN 'Fiatal'
  ELSE 'Felnőtt'
END AS kategória
FROM users;

INDEX

Gyorsabb kereséshez index létrehozása.

CREATE INDEX idx_users_age ON users(age);

VIEW

Lekérdezésből nézet létrehozása.

CREATE VIEW adult_users AS
SELECT * FROM users WHERE age >= 18;

TRUNCATE

Tábla gyors ürítése.

TRUNCATE TABLE users;

TRANSACTION

Több művelet egy tranzakcióban.

BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id=1;
UPDATE accounts SET balance = balance + 100 WHERE id=2;
COMMIT;

ROLLBACK

Tranzakció visszavonása hiba esetén.

ROLLBACK;

GRANT

Jogosultság adása felhasználónak.

GRANT SELECT ON users TO reader;

REVOKE

Jogosultság visszavonása.

REVOKE SELECT ON users FROM reader;

WITH (CTE)

Köztes lekérdezés (Common Table Expression) definiálása.

WITH young_users AS (
  SELECT * FROM users WHERE age < 30
)
SELECT * FROM young_users;

ROW_NUMBER()

Sorszám generálása eredményhalmazban.

SELECT name,
ROW_NUMBER() OVER (ORDER BY age) AS sor
FROM users;

RANK()

Rangsor generálása azonos értékeknél azonos pozícióval.

SELECT name, age,
RANK() OVER (ORDER BY age DESC) AS rang
FROM users;

DENSE_RANK()

Rangsor generálása kihagyások nélkül.

SELECT name, age,
DENSE_RANK() OVER (ORDER BY age DESC) AS rang
FROM users;

AVG() OVER()

Ablakfüggvény: átlag számítása csoporton belül.

SELECT name, age,
AVG(age) OVER (PARTITION BY city) AS átlag_kor
FROM users;

COALESCE()

Első nem NULL érték visszaadása.

SELECT name, COALESCE(email, 'nincs') FROM users;

NULLIF()

Két érték összehasonlítása, ha azonos, NULL-t ad vissza.

SELECT NULLIF(age, 0) FROM users;

STRING_AGG()

Szövegek összefűzése csoporton belül.

SELECT city,
STRING_AGG(name, ', ') AS nevek
FROM users GROUP BY city;

CONCAT()

Szövegek összefűzése.

SELECT CONCAT(first_name, ' ', last_name) AS teljes_név FROM users;

SUBSTRING()

Részszöveg kivágása.

SELECT SUBSTRING(name, 1, 3) FROM users;

LENGTH()

Szöveg hosszának lekérdezése.

SELECT LENGTH(name) FROM users;

UPPER() / LOWER()

Szöveg kis- vagy nagybetűssé alakítása.

SELECT UPPER(name), LOWER(name) FROM users;

ROUND()

Szám kerekítése.

SELECT ROUND(price, 2) FROM products;

CAST()

Típus konvertálása.

SELECT CAST(age AS VARCHAR) FROM users;

CONVERT()

Típus konvertálása (SQL Server).

SELECT CONVERT(VARCHAR, GETDATE(), 23);

DISTINCT

Csak egyedi értékek visszaadása.

SELECT DISTINCT city FROM users;

LIMIT / OFFSET

Eredmények korlátozása és lapozása.

SELECT * FROM users LIMIT 10 OFFSET 20;

EXPLAIN

Lekérdezés végrehajtási tervének megtekintése.

EXPLAIN SELECT * FROM users;

ANALYZE

Statisztikák frissítése optimalizáláshoz.

ANALYZE users;

SHOW TABLES

Adatbázisban lévő táblák listázása.

SHOW TABLES;

DESCRIBE

Tábla oszlopainak és típusainak megtekintése.

DESCRIBE users;

SHOW DATABASES

Elérhető adatbázisok listázása.

SHOW DATABASES;

USE

Aktív adatbázis kiválasztása.

USE my_database;

BACKUP DATABASE

Adatbázis mentése.

BACKUP DATABASE mydb TO DISK = 'C:\\backup\\mydb.bak';

RESTORE DATABASE

Adatbázis visszaállítása mentésből.

RESTORE DATABASE mydb FROM DISK = 'C:\\backup\\mydb.bak';

CREATE USER

Új felhasználó létrehozása.

CREATE USER 'barnabas'@'localhost' IDENTIFIED BY 'jelszo';

DROP USER

Felhasználó törlése.

DROP USER 'barnabas'@'localhost';

GRANT

Jogosultság adása felhasználónak.

GRANT SELECT, INSERT ON mydb.* TO 'barnabas'@'localhost';

REVOKE

Jogosultság visszavonása felhasználótól.

REVOKE INSERT ON mydb.* FROM 'barnabas'@'localhost';

SET

Adatbázis változó beállítása.

SET autocommit = 0;

SHOW PROCESSLIST

Aktív adatbázis kapcsolatok és folyamatok listázása.

SHOW PROCESSLIST;

EXPLAIN ANALYZE

Lekérdezés végrehajtási tervének részletes elemzése.

EXPLAIN ANALYZE SELECT * FROM users;

FLUSH

Cache vagy logok ürítése.

FLUSH PRIVILEGES;

COMMIT

Tranzakció véglegesítése.

COMMIT;

ROLLBACK

Tranzakció visszavonása.

ROLLBACK;

CURRENT_DATE

Aktuális dátum lekérdezése.

SELECT CURRENT_DATE;

NOW()

Aktuális dátum és idő lekérdezése.

SELECT NOW();

ISNULL()

NULL érték ellenőrzése (SQL Server).

SELECT ISNULL(email, 'nincs') FROM users;

NVL()

NULL érték helyettesítése (Oracle).

SELECT NVL(email, 'nincs') FROM users;

GREATEST()

Legnagyobb érték kiválasztása több közül.

SELECT GREATEST(10, 20, 5); -- 20

LEAST()

Legkisebb érték kiválasztása több közül.

SELECT LEAST(10, 20, 5); -- 5

ROUND()

Szám kerekítése adott tizedesjegyre.

SELECT ROUND(123.456, 2); -- 123.46

CEIL()

Szám felfelé kerekítése.

SELECT CEIL(4.2); -- 5

FLOOR()

Szám lefelé kerekítése.

SELECT FLOOR(4.8); -- 4

ABS()

Szám abszolút értéke.

SELECT ABS(-15); -- 15

MOD()

Osztás maradékának kiszámítása.

SELECT MOD(10, 3); -- 1

POWER()

Szám hatványozása.

SELECT POWER(2, 3); -- 8

SQRT()

Négyzetgyök számítása.

SELECT SQRT(16); -- 4

RANDOM()

Véletlen szám generálása (PostgreSQL).

SELECT RANDOM();

RAND()

Véletlen szám generálása (MySQL).

SELECT RAND();

EXTRACT()

Dátum részeinek kinyerése.

SELECT EXTRACT(YEAR FROM NOW());

DATE_ADD()

Dátumhoz idő hozzáadása (MySQL).

SELECT DATE_ADD(NOW(), INTERVAL 7 DAY);

DATEDIFF()

Két dátum közötti különbség napokban.

SELECT DATEDIFF('2025-12-31', '2025-01-01');