Jaké typy joins jste v SQL použili a vysvětlete, jak fungují?
Odpovědět:
INNER JOIN: Vrátí řádky s odpovídajícími daty z obou tabulek.LEFT JOIN: Vrátí všechny řádky z levé tabulky a odpovídající řádky z pravé tabulky.RIGHT JOIN: Vrátí všechny řádky z pravé tabulky a odpovídající řádky z levé tabulky.FULL JOIN: Vrátí všechny řádky z obou tabulek, včetně neodpovídajících řádků.
Vysvětlete koncepty ACID v SQL a jejich roli ve správě transakcí
Odpověď: ACID znamená Atomicity, Consistency, Isolation, Durability. Toto jsou základní vlastnosti při správě transakcí v SQL:
Atomicityzajišťuje, že transakce je buď plně zpracována, nebo není zpracována vůbec.Consistencyzajišťuje, že data musí splňovat definovaná pravidla, omezení a podmínky.Isolationzajišťuje, že souběžné transakce se navzájem neovlivňují.Durabilityzajišťuje, že jakmile je transakce dokončena, změny v databázi jsou bezpečně a trvale uloženy.
Jaký je rozdíl mezi ROW_NUMBER(), RANK(), DENSE_RANK() funkcemi v SQL?
Odpověď: ROW_NUMBER(), RANK(), DENSE_RANK() všechny se používají pro číslování řádků ve výsledku dotazu, ale mají následující rozdíly:
ROW_NUMBER(): Přiřadí souvislá čísla k řádkům ve výsledku dotazu bez zohlednění duplicit.RANK(): Přiřadí čísla k řádkům ve výsledku dotazu a v případě remíz přeskočí další číslo.DENSE_RANK(): Přiřadí čísla k řádkům ve výsledku dotazu a nepřeskočí další číslo v případě remíz.
Jak používat window functions v SQL a uvést příklad.
Odpověď: Window functions povolit provádění výpočtů na sadě souvisejících řádků bez změny výsledku hlavního dotazu. Můžeme například použít funkce okna k výpočtu průběžných součtů nebo načtení prvních N řádků v sadě výsledků.
SELECT ProductID, UnitPrice,
SUM(UnitPrice) OVER(ORDER BY ProductID) AS RunningTotal
FROM Products;
Jak používat regulární výrazy v SQL pro porovnávání vzorů
Odpověď: Regulární výrazy v SQL se používají pro komplexní vyhledávání textových vzorů. Často se používají s LIKE operátorem nebo funkcemi jako REGEXP_LIKE(v Oracle) nebo REGEXP_MATCHES(v PostgreSQL).
SELECT * FROM Employees WHERE LastName LIKE '%son%';
Jak používat funkce JSON v SQL pro práci s daty JSON
Odpověď: Funkce JSON v SQL umožňují dotazování, vkládání, aktualizaci a mazání dat ve formátu JSON v databázi.
K manipulaci s vlastnostmi JSON můžeme například použít funkce jako JSON_VALUE, JSON_QUERY, JSON_MODIFY(v SQL Server) nebo operátory jako ->, ->>, #>, #>> atd.(v PostgreSQL).
SELECT JSON_VALUE(CustomerInfo, '$.Name') AS CustomerName
FROM Customers;
Pokročilé techniky pro optimalizaci dotazů SQL a ladění výkonu databáze
Odpověď: K optimalizaci SQL dotazů a výkonu databáze můžeme použít techniky jako:
- Použití indexů pro často dotazované sloupce.
- Optimalizace
JOINaWHEREklauzule pro efektivní získávání dat. - V případě potřeby využití funkcí okna a stránkování.
- Vyhněte se
SELECT*, abyste získali pouze nezbytné sloupce. - V některých případech použití nápovědy k dotazu.
- Zajištění normalizace dat a odstranění duplicit.
- Používání nástrojů pro sledování výkonu pro sledování a dolaďování databáze.
Vysvětlete, jak používat SET operace (UNION, INTERSECT, EXCEPT) v SQL
Odpověď: SET Operace (UNION, INTERSECT, EXCEPT) se používají ke kombinování a manipulaci se sadami výsledků různých dotazů.
UNION: Kombinuje výsledky dvou nebo více dotazů do jedné datové sady a odstraňuje duplikáty.INTERSECT: Vrátí řádky, které se objevují v obou sadách výsledků dotazu.EXCEPT: Vrátí řádky, které se objevují v první sadě výsledků dotazu, ale ne ve druhé.
Jak používat funkce dotazu jako LEAD, LAG, FIRST_VALUE, LAST_VALUE v SQL
Odpověď: Funkce dotazu LEAD, LAG, FIRST_VALUE, LAST_VALUE se používají k načtení hodnot ze souvisejících řádků ve stejném výsledku dotazu.
LEAD: Získá hodnotu sloupce z dalšího řádku ve výsledku dotazu.LAG: Získá hodnotu sloupce z předchozího řádku ve výsledku dotazu.FIRST_VALUE: Načte první hodnotu sloupce ve výsledku dotazu.LAST_VALUE: Načte poslední hodnotu sloupce ve výsledku dotazu.

