Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Kompletní průvodce SQL

01. 01. 2024 1 min čtení intermediate

SQL je jeden z nejdůležitějších jazyků v IT. Každý vývojář by ho měl ovládat.

Základy

SELECT name, email FROM users WHERE active = true ORDER BY name LIMIT 10;

INSERT, UPDATE, DELETE

INSERT INTO users (name, email) VALUES (‘Jan’, ‘jan@example.com’);
UPDATE users SET active = false WHERE last_login < ‘2024-01-01’;
DELETE FROM users WHERE active = false;

JOIN

SELECT u.name, o.total
FROM users u
INNER JOIN orders o ON u.id = o.user_id
WHERE o.total > 100;

INNER JOIN = oba musí existovat. LEFT JOIN = i bez shody vpravo. RIGHT JOIN = opak.

Agregace

SELECT status, COUNT(*), AVG(total), SUM(total)
FROM orders
GROUP BY status
HAVING COUNT(*) > 10;

Subqueries

SELECT * FROM users WHERE id IN (
SELECT user_id FROM orders WHERE total > 1000
);

CTE (Common Table Expression)

WITH top_customers AS (
SELECT user_id, SUM(total) as total_spent
FROM orders GROUP BY user_id
)
SELECT u.name, tc.total_spent
FROM users u JOIN top_customers tc ON u.id = tc.user_id
ORDER BY tc.total_spent DESC;

Window Functions

SELECT name, salary,
RANK() OVER (ORDER BY salary DESC) as rank,
AVG(salary) OVER () as avg_salary
FROM employees;

Indexy

CREATE INDEX idx_users_email ON users(email);
CREATE INDEX idx_orders_user_date ON orders(user_id, created_at DESC);

Transakce

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

Tip

SQL je jazyk, který se vyplatí zvládnout na pokročilé úrovni. Window functions a CTEs vás odliší od průměru.

sqldatabázepostgresql