SQL-ben milyen típusokat joins
használt, és magyarázza el, hogyan működnek?
Válasz:
INNER JOIN
: Egyező adatokkal rendelkező sorokat ad vissza mindkét táblából.LEFT JOIN
: Visszaadja az összes sort a bal oldali táblázatból és a megfelelő sorokat a jobb oldali táblázatból.RIGHT JOIN
: Visszaadja az összes sort a jobb oldali táblázatból és a megfelelő sorokat a bal oldali táblázatból.FULL JOIN
: Visszaadja mindkét tábla összes sorát, beleértve a nem egyező sorokat is.
Ismertesse az ACID-fogalmakat az SQL-ben és a tranzakciókezelésben betöltött szerepüket
Válasz: ACID jelentése Atomicity, Consistency, Isolation, Durability
. Ezek alapvető tulajdonságok az SQL tranzakciókezelésében:
Atomicity
biztosítja, hogy a tranzakciót vagy teljesen feldolgozzák, vagy egyáltalán nem dolgozzák fel.Consistency
biztosítja, hogy az adatoknak meg kell felelniük a meghatározott szabályoknak, megszorításoknak és feltételeknek.Isolation
biztosítja, hogy az egyidejű tranzakciók ne zavarják egymást.Durability
biztosítja, hogy a tranzakció befejezése után az adatbázisban lévő változások biztonságosan és tartósan mentésre kerüljenek.
Mi a különbség ROW_NUMBER(), RANK(), DENSE_RANK()
az SQL függvényei között?
Válasz: ROW_NUMBER(), RANK(), DENSE_RANK()
mindegyik sorszámozásra szolgál a lekérdezés eredményében, de a következő különbségek vannak:
ROW_NUMBER()
: Folyamatos számokat rendel a lekérdezés eredménye soraihoz, anélkül, hogy figyelembe venné az ismétlődéseket.RANK()
: Számokat rendel a sorokhoz a lekérdezés eredményében, és holtverseny esetén kihagyja a következő számot.DENSE_RANK()
: Számokat rendel a sorokhoz a lekérdezés eredményében, és döntetlen esetén nem hagyja ki a következő számot.
Hogyan kell használni window functions
az SQL-ben, és adjon példát.
Válasz: Window functions
lehetővé teszi a számítások végrehajtását egy sor kapcsolódó soron a fő lekérdezés eredményének megváltoztatása nélkül. Például ablakfüggvények segítségével kiszámíthatjuk a futó összegeket, vagy lekérhetjük az eredményhalmaz felső N sorát.
SELECT ProductID, UnitPrice,
SUM(UnitPrice) OVER(ORDER BY ProductID) AS RunningTotal
FROM Products;
Reguláris kifejezések használata SQL-ben mintaillesztéshez
Válasz: Az SQL reguláris kifejezései összetett szövegminta keresésekhez használatosak. Gyakran használják az operátorral LIKE
vagy függvényekkel, mint például REGEXP_LIKE
(Oracle-ban) vagy REGEXP_MATCHES
(PostgreSQL-ben).
SELECT * FROM Employees WHERE LastName LIKE '%son%';
JSON-függvények használata az SQL-ben a JSON-adatokkal való munkavégzéshez
Válasz: Az SQL JSON-függvényei lehetővé teszik az adatok lekérdezését, beszúrását, frissítését és törlését JSON formátumban az adatbázisban.
Például használhatunk olyan függvényeket, mint a JSON_VALUE, JSON_QUERY, JSON_MODIFY(az SQL Serverben), vagy olyan operátorokat, mint a ->, ->>, #>, #>> stb.(PostgreSQL-ben) a JSON-tulajdonságok kezeléséhez.
SELECT JSON_VALUE(CustomerInfo, '$.Name') AS CustomerName
FROM Customers;
Speciális technikák az SQL lekérdezések optimalizálásához és az adatbázis teljesítményének hangolásához
Válasz: Az SQL-lekérdezések és az adatbázis-teljesítmény optimalizálásához olyan technikákat használhatunk, mint:
- Indexek használata gyakran lekérdezett oszlopokhoz.
- Optimalizálás
JOIN
ésWHERE
záradékok a hatékony adatvisszakereséshez. - Szükség esetén ablakfunkciók és oldalszámozás használata.
- Kerülje el
SELECT
a * jelet, ha csak a szükséges oszlopokat szeretné lekérni. - Lekérdezési tippek használata bizonyos esetekben.
- Az adatok normalizálásának biztosítása és az ismétlődések eltávolítása.
- Teljesítményfigyelő eszközök használata az adatbázis nyomon követésére és finomhangolására.
SET
Ismertesse a műveletek használatát (UNION, INTERSECT, EXCEPT)
SQL-ben
Válasz: SET
A műveletek (UNION, INTERSECT, EXCEPT)
a különböző lekérdezések eredményhalmazainak kombinálására és manipulálására szolgálnak.
UNION
: Két vagy több lekérdezés eredményeit egyetlen adathalmazba egyesíti, és eltávolítja az ismétlődéseket.INTERSECT
: Olyan sorokat ad vissza, amelyek mindkét lekérdezési eredményhalmazban megjelennek.EXCEPT
: Azokat a sorokat adja vissza, amelyek az első lekérdezés eredményhalmazában megjelennek, de a másodikban nem.
Hogyan használjunk lekérdezési függvényeket, mint LEAD, LAG, FIRST_VALUE, LAST_VALUE
az SQL-ben
Válasz: Az olyan lekérdezési függvények, mint a lekérdezési függvények, LEAD, LAG, FIRST_VALUE, LAST_VALUE
arra szolgálnak, hogy értékeket vonjanak le ugyanazon lekérdezési eredményen belüli kapcsolódó sorokból.
LEAD
: A lekérdezés eredménye következő sorából kapja meg az oszlop értékét.LAG
: A lekérdezés eredményének előző sorából kapja meg az oszlop értékét.FIRST_VALUE
: Lekéri egy oszlop első értékét a lekérdezés eredményében.LAST_VALUE
: Lekéri egy oszlop utolsó értékét a lekérdezés eredményében.