Vprašanja za intervju za razvijalce SQL: pogosta vprašanja in odgovori na intervjuju SQL – 3. del

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 in WHERE 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.