Pyetje intervistash për zhvilluesit e SQL: Pyetje dhe përgjigje të zakonshme të intervistës SQL- Pjesa 3

Në SQL, çfarë llojesh joins keni përdorur dhe shpjegoni se si funksionojnë ato?

Përgjigje:

  • INNER JOIN: Kthen rreshtat me të dhëna që përputhen nga të dyja tabelat.
  • LEFT JOIN: Kthen të gjitha rreshtat nga tabela e majtë dhe rreshtat që përputhen nga tabela e djathtë.
  • RIGHT JOIN: Kthen të gjitha rreshtat nga tabela e djathtë dhe rreshtat që përputhen nga tabela e majtë.
  • FULL JOIN: Kthen të gjitha rreshtat nga të dyja tabelat, duke përfshirë rreshtat që nuk përputhen.

 

Shpjegoni konceptet e ACID në SQL dhe rolin e tyre në menaxhimin e transaksioneve

Përgjigje: ACID qëndron për Atomicity, Consistency, Isolation, Durability. Këto janë vetitë thelbësore në menaxhimin e transaksioneve në SQL:

  • Atomicity siguron që një transaksion ose të përpunohet plotësisht ose të mos përpunohet fare.
  • Consistency siguron që të dhënat duhet t'u përmbahen rregullave, kufizimeve dhe kushteve të përcaktuara.
  • Isolation siguron që transaksionet e njëkohshme të mos ndërhyjnë me njëra-tjetrën.
  • Durability siguron që pasi të përfundojë një transaksion, ndryshimet në bazën e të dhënave të ruhen në mënyrë të sigurt dhe të përhershme.

 

Cili është ndryshimi midis ROW_NUMBER(), RANK(), DENSE_RANK() funksioneve në SQL?

Përgjigje: ROW_NUMBER(), RANK(), DENSE_RANK() të gjitha përdoren për numërimin e rreshtave në një rezultat të pyetjes, por ato kanë ndryshimet e mëposhtme:

  • ROW_NUMBER(): Cakton numra të vazhdueshëm për rreshtat në rezultatin e pyetjes, pa marrë parasysh dublikatat.
  • RANK(): Cakton numra në rreshtat në rezultatin e pyetjes dhe anashkalon numrin tjetër në rast të lidhjeve.
  • DENSE_RANK(): Cakton numra në rreshtat në rezultatin e pyetjes dhe nuk e anashkalon numrin tjetër në rast të lidhjeve.

 

Si të përdoret window functions në SQL dhe jepni një shembull.

Përgjigje: Window functions lejoni kryerjen e llogaritjeve në një grup rreshtash të lidhur pa ndryshuar rezultatin e pyetjes kryesore. Për shembull, ne mund të përdorim funksionet e dritares për të llogaritur totalet e ekzekutimit ose për të tërhequr N rreshtat e sipërm brenda një grupi rezultatesh.

SELECT ProductID, UnitPrice,   
       SUM(UnitPrice) OVER(ORDER BY ProductID) AS RunningTotal  
FROM Products;  

 

Si të përdorim shprehje të rregullta në SQL për përputhjen e modeleve

Përgjigje: Shprehjet e rregullta në SQL përdoren për kërkime komplekse të modeleve të tekstit. Ato përdoren shpesh me LIKE operatorin ose funksione si REGEXP_LIKE(në Oracle) ose REGEXP_MATCHES(në PostgreSQL).

SELECT * FROM Employees WHERE LastName LIKE '%son%';

 

Si të përdorni funksionet JSON në SQL për të punuar me të dhënat JSON

Përgjigje: Funksionet JSON në SQL lejojnë kërkimin, futjen, përditësimin dhe fshirjen e të dhënave në formatin JSON në bazën e të dhënave.

Për shembull, ne mund të përdorim funksione si JSON_VALUE, JSON_QUERY, JSON_MODIFY(në SQL Server), ose operatorë si ->, ->>, #>, #>>, etj.(në PostgreSQL) për të manipuluar vetitë JSON.

SELECT JSON_VALUE(CustomerInfo, '$.Name') AS CustomerName  
FROM Customers;  

 

Teknika të avancuara për optimizimin e pyetjeve SQL dhe akordimin e performancës së bazës së të dhënave

Përgjigje: Për të optimizuar kërkesat e SQL dhe performancën e bazës së të dhënave, ne mund të përdorim teknika të tilla si:

  • Përdorimi i indekseve për kolonat e kërkuara shpesh.
  • Optimizimi JOIN dhe WHERE klauzola për rikthim efikas të të dhënave.
  • Përdorimi i funksioneve të dritares dhe faqezimit kur është e nevojshme.
  • Shmangia SELECT * për të tërhequr vetëm kolonat e nevojshme.
  • Përdorimi i sugjerimeve për pyetje në disa raste.
  • Sigurimi i normalizimit të të dhënave dhe heqja e dublikatave.
  • Përdorimi i mjeteve të monitorimit të performancës për të gjurmuar dhe rregulluar mirë bazën e të dhënave.

 

Shpjegoni se si të përdorni SET operacionet (UNION, INTERSECT, EXCEPT) në SQl

Përgjigje: SET operacionet (UNION, INTERSECT, EXCEPT) përdoren për të kombinuar dhe manipuluar grupe rezultatesh të pyetjeve të ndryshme.

  • UNION: Kombinon rezultatet e dy ose më shumë pyetjeve në një grup të vetëm të dhënash dhe heq dublikatat.
  • INTERSECT: Kthen rreshtat që shfaqen në të dy grupet e rezultateve të pyetjeve.
  • EXCEPT: Kthen rreshtat që shfaqen në grupin e rezultateve të pyetjes së parë, por jo në të dytin.

 

Si të përdorni funksionet e pyetjeve si LEAD, LAG, FIRST_VALUE, LAST_VALUE në SQL

Përgjigje: Funksionet e pyetjes si LEAD, LAG, FIRST_VALUE, LAST_VALUE përdoren për të tërhequr vlerat nga rreshtat e lidhur brenda të njëjtit rezultat të pyetjes.

  • LEAD: Merr vlerën e një kolone nga rreshti tjetër në rezultatin e pyetjes.
  • LAG: Merr vlerën e një kolone nga rreshti i mëparshëm në rezultatin e pyetjes.
  • FIRST_VALUE: Merr vlerën e parë të një kolone në rezultatin e pyetjes.
  • LAST_VALUE: Merr vlerën e fundit të një kolone në rezultatin e pyetjes.