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:
Atomicityzagotavlja, da je transakcija v celoti obdelana ali pa sploh ni obdelana.Consistencyzagotavlja, da morajo podatki upoštevati opredeljena pravila, omejitve in pogoje.Isolationzagotavlja, da sočasne transakcije ne motijo druga druge.Durabilityzagotavlja, 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
JOINinWHEREklavzule 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.

