Haastattelukysymykset SQL-kehittäjille: Yleiset SQL-haastattelukysymykset ja vastaukset- Osa 3

Millaisia ​​SQL-tyyppejä joins olet käyttänyt, ja selitä, miten ne toimivat?

Vastaus:

  • INNER JOIN: Palauttaa rivit vastaavilla tiedoilla molemmista taulukoista.
  • LEFT JOIN: Palauttaa kaikki rivit vasemmasta taulukosta ja vastaavat rivit oikeanpuoleisesta taulukosta.
  • RIGHT JOIN: Palauttaa kaikki rivit oikeanpuoleisesta taulukosta ja vastaavat rivit vasemmasta taulukosta.
  • FULL JOIN: Palauttaa kaikki rivit molemmista taulukoista, mukaan lukien rivit, jotka eivät täsmää.

 

Selitä SQL:n ACID-käsitteet ja niiden rooli tapahtumanhallinnassa

Vastaus: ACID tarkoittaa Atomicity, Consistency, Isolation, Durability. Nämä ovat tärkeitä ominaisuuksia tapahtumien hallinnassa SQL:ssä:

  • Atomicity varmistaa, että tapahtuma on joko kokonaan käsitelty tai sitä ei käsitellä ollenkaan.
  • Consistency varmistaa, että tietojen on noudatettava määriteltyjä sääntöjä, rajoituksia ja ehtoja.
  • Isolation varmistaa, että samanaikaiset tapahtumat eivät häiritse toisiaan.
  • Durability varmistaa, että kun tapahtuma on suoritettu, muutokset tietokantaan tallennetaan turvallisesti ja pysyvästi.

 

Mitä eroa on ROW_NUMBER(), RANK(), DENSE_RANK() SQL:n funktioilla?

Vastaus: ROW_NUMBER(), RANK(), DENSE_RANK() käytetään kaikkia rivien numerointiin kyselyn tuloksessa, mutta niillä on seuraavat erot:

  • ROW_NUMBER(): Määrittää jatkuvia numeroita kyselyn tuloksen riveille ottamatta huomioon kaksoiskappaleita.
  • RANK(): Antaa numeroita kyselyn tuloksen riveille ja ohittaa seuraavan numeron tasatuloksissa.
  • DENSE_RANK(): Antaa numeroita kyselyn tuloksen riveille eikä ohita seuraavaa numeroa tasatuloksissa.

 

Kuinka käyttää window functions SQL:ssä, ja anna esimerkki.

Vastaus: Window functions salli laskelmien suorittaminen joukolle toisiinsa liittyviä rivejä muuttamatta pääkyselyn tulosta. Voimme esimerkiksi käyttää ikkunafunktioita juoksevien kokonaismäärien laskemiseen tai noutaa tulosjoukon N ylintä riviä.

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

 

Säännöllisten lausekkeiden käyttäminen SQL:ssä kuvioiden sovittamiseen

Vastaus: SQL:n säännöllisiä lausekkeita käytetään monimutkaisiin tekstimallihakuihin. Niitä käytetään usein LIKE operaattorin tai funktioiden kanssa, kuten REGEXP_LIKE(Oraclessa) tai REGEXP_MATCHES(PostgreSQL:ssä).

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

 

Kuinka käyttää JSON-funktioita SQL:ssä JSON-tietojen käsittelyyn

Vastaus: SQL:n JSON-funktiot mahdollistavat JSON-muotoisten tietojen kyselyn, lisäämisen, päivittämisen ja poistamisen tietokannassa.

Voimme esimerkiksi käyttää toimintoja, kuten JSON_VALUE, JSON_QUERY, JSON_MODIFY(SQL Serverissä) tai operaattoreita, kuten ->, ->>, #>, #>> jne.(PostgreSQL:ssä) JSON-ominaisuuksien manipulointiin.

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

 

Kehittyneet tekniikat SQL-kyselyn optimointiin ja tietokannan suorituskyvyn viritykseen

Vastaus: SQL-kyselyjen ja tietokannan suorituskyvyn optimoimiseksi voimme käyttää tekniikoita, kuten:

  • Usein kysyttyjen sarakkeiden indeksien käyttäminen.
  • Optimointi JOIN ja WHERE lausekkeet tehokkaaseen tiedonhakuun.
  • Hyödynnä ikkunatoimintoja ja sivutusta tarvittaessa.
  • Vältä SELECT * noutaaksesi vain välttämättömät sarakkeet.
  • Kyselyvihjeiden käyttäminen joissakin tapauksissa.
  • Tietojen normalisoinnin varmistaminen ja kaksoiskappaleiden poistaminen.
  • Suorituskyvyn seurantatyökalujen käyttäminen tietokannan seurantaan ja hienosäätöön.

 

SET Selitä, kuinka operaatioita käytetään (UNION, INTERSECT, EXCEPT) SQL:ssä

Vastaus: SET operaatioita (UNION, INTERSECT, EXCEPT) käytetään yhdistämään ja käsittelemään eri kyselyiden tulosjoukkoja.

  • UNION: Yhdistää kahden tai useamman kyselyn tulokset yhdeksi tietojoukoksi ja poistaa kaksoiskappaleet.
  • INTERSECT: Palauttaa rivit, jotka näkyvät molemmissa kyselyn tulosjoukoissa.
  • EXCEPT: Palauttaa rivit, jotka näkyvät ensimmäisessä kyselyn tulosjoukossa, mutta eivät toisessa.

 

Kuinka käyttää kyselytoimintoja kuten LEAD, LAG, FIRST_VALUE, LAST_VALUE SQL:ssä

Vastaus: Kyselyfunktioita, kuten LEAD, LAG, FIRST_VALUE, LAST_VALUE käytetään arvojen hakemiseen saman kyselyn tuloksen liittyviltä riveiltä.

  • LEAD: Hakee sarakkeen arvon kyselytuloksen seuraavalta riviltä.
  • LAG: Hakee sarakkeen arvon kyselyn tuloksen edelliseltä riviltä.
  • FIRST_VALUE: Hakee sarakkeen ensimmäisen arvon kyselyn tuloksesta.
  • LAST_VALUE: Hakee sarakkeen viimeisen arvon kyselyn tuloksesta.