Interjúkérdések SQL-fejlesztőknek: Gyakori SQL-interjú kérdések és válaszok – 4. rész

function Magyarázza el az SQL létrehozásának és az SQL-ben való létrehozásának fogalmát procedure és használatuk előnyeit.

Válasz: Function és procedure az SQL-ben elnevezett kódblokkok, amelyek más lekérdezésekből vagy alkalmazásokból hívhatók meg.

  • Function: értéket ad vissza, és gyakran használják számításokhoz és eredmények visszaadásához.
  • Procedure: Nem ad vissza értéket, és adatfeldolgozási vagy tárolási feladatok végrehajtására szolgál.

A funkciók és eljárások használatának előnyei a következők:

  • A kódduplikáció csökkentése, a kód karbantartásának és kezelésének megkönnyítése.
  • Az újrafelhasználhatóság növelése, amely lehetővé teszi a kód több helyen történő újrafelhasználását.
  • A teljesítmény javítása, mivel a funkciókat és eljárásokat gyakran egyszer fordítják le, és többször használják fel.

 

Hogyan használjunk RECURSIVE lekérdezéseket és COMMON TABLE EXPRESSION(CTE) SQL-ben.

Válasz: RECURSIVE a lekérdezések és COMMON TABLE EXPRESSION(CTE) a rekurzív lekérdezések kezelésére és a lekérdezés egy részének újrafelhasználására szolgálnak SQL-ben.

  • RECURSIVE: Lehetővé teszi rekurzív lekérdezések végrehajtását az adatbázisban.
  • CTE: Ideiglenes eredményhalmazként működik, kisebb, jobban kezelhető részekre bontva a lekérdezést.
WITH RECURSIVE RecursiveCTE(ID, ParentID, Level) AS( 
  SELECT ID, ParentID, 0 AS Level FROM Categories WHERE ParentID IS NULL  
  UNION ALL  
  SELECT C.ID, C.ParentID, Level + 1 FROM Categories C  
  INNER JOIN RecursiveCTE RC ON C.ParentID = RC.ID  
)  
SELECT * FROM RecursiveCTE;  

 

Az ismétlődő adatok és az érvénytelen adatesetek kezelése az SQ-ban

Válasz: Az SQL-ben ismétlődő és érvénytelen adatok kezelésére használhatunk SQL utasításokat, például DISTINCT, GROUP BY, HAVING és UNIQUE megszorításokat az adatok egyediségének biztosítására. Ezenkívül használhatunk UPDATE vagy DELETE utasításokat az ismétlődő vagy érvénytelen rekordok kiküszöbölésére.

 

Íme az SQL Server speciális adattípusainak fordítása

Các kiểu dữ liệu đặc biệt như XML, GEOGRAPHY, và GEOMETRY trong SQL Server được sử dụng để lưu trữ và làm ặc thù và phức tạp. Dưới đây là mô tả về từng kiểu dữ liệu này:

XML:

  • Az SQL Server XML adattípusa lehetővé teszi az adatok Extensible Markup Language formátumban történő tárolását és kezelését.
  • Az XML adatok gazdag struktúrákat tartalmazhatnak, amelyek lehetővé teszik a jól szervezett és rugalmas információk tárolását.
  • Az SQL Server funkciókat és módszereket biztosít az XML adatok kezeléséhez, lehetővé téve az XML adatok lekérdezését, létrehozását és átalakítását.

GEOGRAPHY És GEOMETRY:

  • Az SQL Server GEOGRAPHY és GEOMETRY adattípusai földrajzi és geometriai információk tárolására szolgálnak.
  • GEOGRAPHY földrajzi objektumok, például pontok, vonalak, régiók és sokszögek ábrázolására szolgál a föld felszínén.
  • GEOMETRY geometriai objektumok, például pontok, vonalak, régiók és sokszögek sík térben történő ábrázolására szolgál.

Mindkét adattípus támogatja a földrajzi és geometriai adatok lekérdezéséhez és elemzéséhez szükséges speciális műveleteket és funkciókat.

 

Magyarázza el a dátum- és időadatok kezelésének függvényeit és függvényeit SQL-ben

Az SQL-ben a dátum- és időadatok feldolgozására szolgáló funkciók és szolgáltatások az adatbázisban lévő dátumokkal és időpontokkal kapcsolatos feladatok manipulálására és végrehajtására szolgálnak. Itt található néhány gyakori funkció és szolgáltatás részletes leírása:

DATEPART():Ez a funkció egy adott összetevő(pl. nap, hónap, év, óra, perc, másodperc) kinyerésére szolgál egy dátum vagy idő értékéből.

SELECT DATEPART(YEAR, '2023-07-19'); -- Result: 2023

DATEDIFF(): Ez a funkció két dátum vagy idő közötti időkülönbséget számítja ki.

SELECT DATEDIFF(DAY, '2023-07-01', '2023-07-19'); -- Result: 18(number of days between two dates)

DATEADD(): Ez a funkció bizonyos számú napot, hónapot, évet vagy időt ad egy dátum- vagy időértékhez.

SELECT DATEADD(DAY, 7, '2023-07-19'); -- Result: '2023-07-26'(adding 7 days)

GETDATE(): Ez a függvény a rendszer aktuális dátumát és idejét adja vissza.

SELECT GETDATE(); -- Result: '2023-07-19 12:34:56.789'

CONVERT(): Ez a funkció a dátum vagy idő értékek egyik formátumból a másikba konvertálására szolgál.

SELECT CONVERT(VARCHAR, '2023-07-19', 103); -- Result: '19/07/2023'

FORMAT(): Ez a funkció a dátum vagy az idő értékek előre meghatározott minta szerinti formázására szolgál.

SELECT FORMAT('2023-07-19', 'dd/MM/yyyy'); -- Result: '19/07/2023'