Katere vrste joins
ste uporabljali v SQL in pojasnite, kako delujejo?
odgovor:
INNER JOIN
: Vrne vrstice z ujemajočimi se podatki iz obeh tabel.LEFT JOIN
: vrne vse vrstice iz leve tabele in ustrezne vrstice iz desne tabele.RIGHT JOIN
: Vrne vse vrstice iz desne tabele in ustrezne vrstice iz leve tabele.FULL JOIN
: Vrne vse vrstice iz obeh tabel, vključno z vrsticami, ki se ne ujemajo.
Razložite koncepte ACID v SQL in njihovo vlogo pri upravljanju transakcij
Odgovor: ACID pomeni Atomicity, Consistency, Isolation, Durability
. To so bistvene lastnosti pri upravljanju transakcij v SQL:
Atomicity
zagotavlja, da je transakcija v celoti obdelana ali pa sploh ni obdelana.Consistency
zagotavlja, da morajo podatki upoštevati opredeljena pravila, omejitve in pogoje.Isolation
zagotavlja, da sočasne transakcije ne motijo druga druge.Durability
zagotavlja, da se po zaključku transakcije spremembe v bazi varno in trajno shranijo.
Kakšna je razlika med ROW_NUMBER(), RANK(), DENSE_RANK()
funkcijami v SQL?
Odgovor: ROW_NUMBER(), RANK(), DENSE_RANK()
vsi se uporabljajo za oštevilčevanje vrstic v rezultatu poizvedbe, vendar imajo naslednje razlike:
ROW_NUMBER()
: dodeli zvezna števila vrsticam v rezultatu poizvedbe, ne da bi upoštevala dvojnike.RANK()
: dodeli številke vrsticam v rezultatu poizvedbe in preskoči naslednjo številko v primeru izenačenja.DENSE_RANK()
: Dodeli številke vrsticam v rezultatu poizvedbe in ne preskoči naslednje številke v primeru izenačenja.
Kako uporabljati window functions
v SQL in navedite primer.
Odgovor: Window functions
omogoča izvajanje izračunov na nizu povezanih vrstic brez spreminjanja rezultata glavne poizvedbe. Na primer, lahko uporabimo okenske funkcije za izračun tekočih vsot ali pridobitev zgornjih N vrstic v nizu rezultatov.
SELECT ProductID, UnitPrice,
SUM(UnitPrice) OVER(ORDER BY ProductID) AS RunningTotal
FROM Products;
Kako uporabljati regularne izraze v SQL za ujemanje vzorcev
Odgovor: Regularni izrazi v SQL se uporabljajo za iskanje zapletenih besedilnih vzorcev. Pogosto se uporabljajo z LIKE
operatorjem ali funkcijami, kot je REGEXP_LIKE
(v Oracle) ali REGEXP_MATCHES
(v PostgreSQL).
SELECT * FROM Employees WHERE LastName LIKE '%son%';
Kako uporabljati funkcije JSON v SQL za delo s podatki JSON
Odgovor: Funkcije JSON v SQL omogočajo poizvedovanje, vstavljanje, posodabljanje in brisanje podatkov v formatu JSON v bazi podatkov.
Na primer, lahko uporabimo funkcije, kot so JSON_VALUE, JSON_QUERY, JSON_MODIFY(v SQL Serverju) ali operatorje, kot so ->, ->>, #>, #>> itd.(v PostgreSQL), da manipuliramo z lastnostmi JSON.
SELECT JSON_VALUE(CustomerInfo, '$.Name') AS CustomerName
FROM Customers;
Napredne tehnike za optimizacijo poizvedb SQL in nastavitev zmogljivosti baze podatkov
Odgovor: Za optimizacijo poizvedb SQL in delovanja baze podatkov lahko uporabimo tehnike, kot so:
- Uporaba indeksov za pogosto povpraševane stolpce.
- Optimizacija
JOIN
inWHERE
klavzule za učinkovito pridobivanje podatkov. - Uporaba okenskih funkcij in ostranjevanje, kadar je to potrebno.
- Izogibanje
SELECT
* za pridobitev samo potrebnih stolpcev. - Uporaba namigov za poizvedbo v nekaterih primerih.
- Zagotavljanje normalizacije podatkov in odstranjevanje dvojnikov.
- Uporaba orodij za spremljanje uspešnosti za sledenje in natančno nastavitev baze podatkov.
Pojasnite, kako uporabljati SET
operacije (UNION, INTERSECT, EXCEPT)
v SQL
Odgovor: SET
operacije (UNION, INTERSECT, EXCEPT)
se uporabljajo za kombiniranje in manipulacijo nizov rezultatov različnih poizvedb.
UNION
: združi rezultate dveh ali več poizvedb v en nabor podatkov in odstrani dvojnike.INTERSECT
: Vrne vrstice, ki se pojavijo v obeh nizih rezultatov poizvedbe.EXCEPT
: Vrne vrstice, ki se pojavijo v prvem nizu rezultatov poizvedbe, ne pa tudi v drugem.
Kako uporabljati poizvedovalne funkcije kot LEAD, LAG, FIRST_VALUE, LAST_VALUE
v SQL
Odgovor: Funkcije poizvedbe, kot je, LEAD, LAG, FIRST_VALUE, LAST_VALUE
se uporabljajo za pridobivanje vrednosti iz povezanih vrstic znotraj istega rezultata poizvedbe.
LEAD
: pridobi vrednost stolpca iz naslednje vrstice v rezultatu poizvedbe.LAG
: pridobi vrednost stolpca iz prejšnje vrstice v rezultatu poizvedbe.FIRST_VALUE
: pridobi prvo vrednost stolpca v rezultatu poizvedbe.LAST_VALUE
: pridobi zadnjo vrednost stolpca v rezultatu poizvedbe.