Pytania do wywiadów dla programistów SQL: wspólne pytania i odpowiedzi do wywiadów SQL — część 4

Wyjaśnij koncepcję tworzenia function iw procedure języku SQL oraz korzyści płynące z ich używania.

Odpowiedź: Function aw procedure SQL są nazwane bloki kodu, które można wywoływać z innych zapytań lub aplikacji.

  • Function: Zwraca wartość i jest często używany do obliczeń i zwracania wyników.
  • Procedure: nie zwraca wartości i jest używany do wykonywania zadań związanych z przetwarzaniem lub przechowywaniem danych.

Korzyści wynikające z używania funkcji i procedur obejmują:

  • Zmniejszenie powielania kodu, ułatwiając konserwację i zarządzanie kodem.
  • Zwiększenie możliwości ponownego użycia, umożliwiając ponowne wykorzystanie kodu w wielu miejscach.
  • Poprawa wydajności, ponieważ funkcje i procedury są często kompilowane raz i wielokrotnie używane.

 

Jak używać RECURSIVE zapytań i COMMON TABLE EXPRESSION(CTE) SQL.

Odpowiedź: RECURSIVE zapytania i COMMON TABLE EXPRESSION(CTE) służą do obsługi zapytań rekurencyjnych i ponownego wykorzystania części zapytania w SQL.

  • RECURSIVE: Umożliwia wykonywanie zapytań rekurencyjnych w bazie danych.
  • CTE: Działa jako tymczasowy zestaw wyników, dzieląc zapytanie na mniejsze, łatwiejsze do zarządzania części.
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;  

 

Jak obsługiwać zduplikowane dane i nieprawidłowe przypadki danych w SQ

Odpowiedź: Aby obsłużyć zduplikowane i nieprawidłowe dane w SQL, możemy użyć ograniczeń SQL, takich jak DISTINCT, GROUP BY, HAVING i UNIQUE, aby zapewnić unikalność danych. Ponadto możemy użyć instrukcji UPDATE lub DELETE w celu wyeliminowania zduplikowanych lub nieprawidłowych rekordów.

 

Oto tłumaczenie specjalnych typów danych w SQL Server

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 việc với dữ liệu đặc thù và phức tap. Dưới đây là mo tả về từng kiểu dữ liệu này:

XML:

  • Typ danych XML w SQL Server umożliwia przechowywanie i pracę z danymi w formacie Extensible Markup Language.
  • Dane XML mogą zawierać bogate struktury, umożliwiające przechowywanie dobrze zorganizowanych i elastycznych informacji.
  • SQL Server udostępnia funkcje i metody do manipulowania danymi XML, umożliwiając wykonywanie zapytań, tworzenie i przekształcanie danych XML.

GEOGRAPHY i GEOMETRY:

  • Typy danych GEOGRAPHY i GEOMETRY w SQL Server służą do przechowywania informacji geograficznych i geometrycznych.
  • GEOGRAPHY służy do reprezentowania obiektów geograficznych, takich jak punkty, linie, regiony i wielokąty na powierzchni ziemi.
  • GEOMETRY służy do reprezentowania obiektów geometrycznych, takich jak punkty, linie, regiony i wielokąty w płaskiej przestrzeni.

Oba typy danych obsługują specjalne operacje i funkcje służące do wykonywania zapytań i analizowania danych geograficznych i geometrycznych.

 

Wyjaśnij funkcje i funkcje do obsługi danych daty i czasu w języku SQL

Funkcje i właściwości do przetwarzania danych daty i czasu w SQL służą do manipulowania i wykonywania zadań związanych z datami i godzinami w bazie danych. Oto szczegółowy opis niektórych typowych funkcji i cech:

DATEPART(): Ta funkcja służy do wyodrębniania określonego składnika(np. dzień, miesiąc, rok, godzina, minuta, sekunda) z wartości daty lub godziny.

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

DATEDIFF(): Ta funkcja oblicza różnicę czasu między dwiema wartościami daty lub godziny.

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

DATEADD(): Ta funkcja dodaje określoną liczbę dni, miesięcy, lat lub czasu do wartości daty lub godziny.

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

GETDATE(): Ta funkcja zwraca aktualną datę i godzinę systemu.

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

CONVERT(): Ta funkcja służy do konwersji wartości daty lub godziny z jednego formatu na inny.

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

FORMAT(): Ta funkcja służy do formatowania wartości daty lub czasu zgodnie z predefiniowanym wzorcem.

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