SQL ਡਿਵੈਲਪਰਾਂ ਲਈ ਇੰਟਰਵਿਊ ਸਵਾਲ: ਆਮ SQL ਇੰਟਰਵਿਊ ਸਵਾਲ ਅਤੇ ਜਵਾਬ- ਭਾਗ 4

function SQL ਵਿੱਚ ਬਣਾਉਣ ਅਤੇ ਬਣਾਉਣ ਦੀ ਧਾਰਨਾ procedure ਅਤੇ ਇਹਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਫਾਇਦਿਆਂ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।

ਉੱਤਰ: Function ਅਤੇ procedure SQL ਵਿੱਚ ਕੋਡ ਬਲਾਕਾਂ ਦਾ ਨਾਮ ਦਿੱਤਾ ਗਿਆ ਹੈ ਜੋ ਹੋਰ ਪੁੱਛਗਿੱਛਾਂ ਜਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਤੋਂ ਬੁਲਾਏ ਜਾ ਸਕਦੇ ਹਨ।

  • Function: ਇੱਕ ਮੁੱਲ ਦਿੰਦਾ ਹੈ ਅਤੇ ਅਕਸਰ ਗਣਨਾਵਾਂ ਅਤੇ ਨਤੀਜਿਆਂ ਨੂੰ ਵਾਪਸ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
  • Procedure: ਕੋਈ ਮੁੱਲ ਵਾਪਸ ਨਹੀਂ ਕਰਦਾ ਅਤੇ ਡੇਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਜਾਂ ਸਟੋਰੇਜ ਕਾਰਜ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।

ਫੰਕਸ਼ਨਾਂ ਅਤੇ ਪ੍ਰਕਿਰਿਆਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਲਾਭਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:

  • ਕੋਡ ਡੁਪਲੀਕੇਸ਼ਨ ਨੂੰ ਘਟਾਉਣਾ, ਕੋਡ ਨੂੰ ਬਣਾਈ ਰੱਖਣਾ ਅਤੇ ਪ੍ਰਬੰਧਨ ਕਰਨਾ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ।
  • ਮੁੜ ਵਰਤੋਂਯੋਗਤਾ ਨੂੰ ਵਧਾਉਣਾ, ਕੋਡ ਨੂੰ ਕਈ ਥਾਵਾਂ 'ਤੇ ਦੁਬਾਰਾ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
  • ਕਾਰਗੁਜ਼ਾਰੀ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ, ਕਿਉਂਕਿ ਫੰਕਸ਼ਨਾਂ ਅਤੇ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਅਕਸਰ ਇੱਕ ਵਾਰ ਕੰਪਾਇਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਕਈ ਵਾਰ ਮੁੜ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।

 

ਸਵਾਲਾਂ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ RECURSIVE ਅਤੇ COMMON TABLE EXPRESSION(CTE) SQL ਵਿੱਚ।

ਉੱਤਰ: RECURSIVE ਪੁੱਛਗਿੱਛਾਂ ਅਤੇ COMMON TABLE EXPRESSION(CTE) ਮੁੜ-ਵਰਤੀ ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਸੰਭਾਲਣ ਅਤੇ SQL ਵਿੱਚ ਇੱਕ ਪੁੱਛਗਿੱਛ ਦੇ ਇੱਕ ਹਿੱਸੇ ਦੀ ਮੁੜ ਵਰਤੋਂ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ।

  • RECURSIVE: ਡਾਟਾਬੇਸ ਵਿੱਚ ਮੁੜ-ਮੁੜ ਪੁੱਛਗਿੱਛ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
  • CTE: ਇੱਕ ਅਸਥਾਈ ਨਤੀਜੇ ਸੈੱਟ ਦੇ ਤੌਰ 'ਤੇ ਕੰਮ ਕਰਦਾ ਹੈ, ਇੱਕ ਪੁੱਛਗਿੱਛ ਨੂੰ ਛੋਟੇ, ਵਧੇਰੇ ਪ੍ਰਬੰਧਨਯੋਗ ਹਿੱਸਿਆਂ ਵਿੱਚ ਵੰਡਦਾ ਹੈ।
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;  

 

SQ ਵਿੱਚ ਡੁਪਲੀਕੇਟ ਡੇਟਾ ਅਤੇ ਅਵੈਧ ਡੇਟਾ ਕੇਸਾਂ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਣਾ ਹੈ

ਜਵਾਬ: SQL ਵਿੱਚ ਡੁਪਲੀਕੇਟ ਅਤੇ ਅਵੈਧ ਡੇਟਾ ਨੂੰ ਸੰਭਾਲਣ ਲਈ, ਅਸੀਂ ਡਾਟਾ ਵਿਲੱਖਣਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ DISTINCT, GROUP BY, HAVING, ਅਤੇ ਵਿਲੱਖਣ ਪਾਬੰਦੀਆਂ ਵਰਗੇ SQL ਸਟੇਟਮੈਂਟਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਅਸੀਂ ਡੁਪਲੀਕੇਟ ਜਾਂ ਅਵੈਧ ਰਿਕਾਰਡਾਂ ਨੂੰ ਖਤਮ ਕਰਨ ਲਈ UPDATE ਜਾਂ ਬਿਆਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਾਂ। DELETE

 

ਇੱਥੇ SQL ਸਰਵਰ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ ਡਾਟਾ ਕਿਸਮਾਂ ਦਾ ਅਨੁਵਾਦ ਹੈ

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

XML:

  • SQL ਸਰਵਰ ਵਿੱਚ XML ਡੇਟਾ ਕਿਸਮ ਐਕਸਟੈਂਸੀਬਲ ਮਾਰਕਅਪ ਲੈਂਗੂਏਜ ਫਾਰਮੈਟ ਵਿੱਚ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਨ ਅਤੇ ਕੰਮ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।
  • XML ਡੇਟਾ ਵਿੱਚ ਅਮੀਰ ਢਾਂਚੇ ਸ਼ਾਮਲ ਹੋ ਸਕਦੇ ਹਨ, ਚੰਗੀ ਤਰ੍ਹਾਂ ਸੰਗਠਿਤ ਅਤੇ ਲਚਕਦਾਰ ਜਾਣਕਾਰੀ ਦੇ ਸਟੋਰੇਜ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦੇ ਹੋਏ।
  • SQL ਸਰਵਰ XML ਡੇਟਾ ਨੂੰ ਹੇਰਾਫੇਰੀ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨ ਅਤੇ ਢੰਗ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, XML ਡੇਟਾ ਨੂੰ ਪੁੱਛਗਿੱਛ ਕਰਨ, ਬਣਾਉਣ ਅਤੇ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।

GEOGRAPHY ਅਤੇ GEOMETRY:

  • SQL ਸਰਵਰ ਵਿੱਚ ਅਤੇ ਡਾਟਾ ਕਿਸਮਾਂ ਦੀ ਵਰਤੋਂ ਭੂਗੋਲਿਕ ਅਤੇ ਜਿਓਮੈਟ੍ਰਿਕ ਜਾਣਕਾਰੀ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ GEOGRAPHYGEOMETRY
  • GEOGRAPHY ਭੂਗੋਲਿਕ ਵਸਤੂਆਂ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜਿਵੇਂ ਕਿ ਬਿੰਦੂ, ਰੇਖਾਵਾਂ, ਖੇਤਰ ਅਤੇ ਧਰਤੀ ਦੀ ਸਤ੍ਹਾ 'ਤੇ ਬਹੁਭੁਜ।
  • GEOMETRY ਇੱਕ ਫਲੈਟ ਸਪੇਸ ਵਿੱਚ ਜਿਓਮੈਟ੍ਰਿਕ ਵਸਤੂਆਂ ਜਿਵੇਂ ਕਿ ਬਿੰਦੂ, ਰੇਖਾਵਾਂ, ਖੇਤਰਾਂ ਅਤੇ ਬਹੁਭੁਜਾਂ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।

ਦੋਵੇਂ ਡੇਟਾ ਕਿਸਮਾਂ ਭੂਗੋਲਿਕ ਅਤੇ ਜਿਓਮੈਟ੍ਰਿਕ ਡੇਟਾ ਦੀ ਪੁੱਛਗਿੱਛ ਅਤੇ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ ਵਿਸ਼ੇਸ਼ ਕਾਰਜਾਂ ਅਤੇ ਫੰਕਸ਼ਨਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦੀਆਂ ਹਨ।

 

SQL ਵਿੱਚ ਮਿਤੀ ਅਤੇ ਸਮਾਂ ਡੇਟਾ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਫੰਕਸ਼ਨਾਂ ਅਤੇ ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਿਆਖਿਆ ਕਰੋ

SQL ਵਿੱਚ ਮਿਤੀ ਅਤੇ ਸਮਾਂ ਡੇਟਾ ਨੂੰ ਪ੍ਰੋਸੈਸ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨਾਂ ਅਤੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਡੇਟਾਬੇਸ ਵਿੱਚ ਮਿਤੀਆਂ ਅਤੇ ਸਮੇਂ ਨਾਲ ਸਬੰਧਤ ਕਾਰਜਾਂ ਨੂੰ ਹੇਰਾਫੇਰੀ ਕਰਨ ਅਤੇ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇੱਥੇ ਕੁਝ ਆਮ ਫੰਕਸ਼ਨਾਂ ਅਤੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਾ ਵਿਸਤ੍ਰਿਤ ਵਰਣਨ ਹੈ:

DATEPART(): ਇਸ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਿਸੇ ਮਿਤੀ ਜਾਂ ਸਮੇਂ ਦੇ ਮੁੱਲ ਤੋਂ ਕਿਸੇ ਖਾਸ ਹਿੱਸੇ(ਜਿਵੇਂ ਕਿ, ਦਿਨ, ਮਹੀਨਾ, ਸਾਲ, ਘੰਟਾ, ਮਿੰਟ, ਸਕਿੰਟ) ਕੱਢਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।

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

DATEDIFF(): ਇਹ ਫੰਕਸ਼ਨ ਦੋ ਮਿਤੀ ਜਾਂ ਸਮੇਂ ਦੇ ਮੁੱਲਾਂ ਵਿਚਕਾਰ ਸਮੇਂ ਦੇ ਅੰਤਰ ਦੀ ਗਣਨਾ ਕਰਦਾ ਹੈ।

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

DATEADD(): ਇਹ ਫੰਕਸ਼ਨ ਕਿਸੇ ਮਿਤੀ ਜਾਂ ਸਮੇਂ ਦੇ ਮੁੱਲ ਵਿੱਚ ਦਿਨ, ਮਹੀਨਿਆਂ, ਸਾਲਾਂ, ਜਾਂ ਸਮੇਂ ਦੀ ਇੱਕ ਨਿਸ਼ਚਿਤ ਸੰਖਿਆ ਜੋੜਦਾ ਹੈ।

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

GETDATE(): ਇਹ ਫੰਕਸ਼ਨ ਸਿਸਟਮ ਦੀ ਮੌਜੂਦਾ ਮਿਤੀ ਅਤੇ ਸਮਾਂ ਵਾਪਸ ਕਰਦਾ ਹੈ।

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

CONVERT(): ਇਹ ਫੰਕਸ਼ਨ ਮਿਤੀ ਜਾਂ ਸਮੇਂ ਦੇ ਮੁੱਲਾਂ ਨੂੰ ਇੱਕ ਫਾਰਮੈਟ ਤੋਂ ਦੂਜੇ ਵਿੱਚ ਬਦਲਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।

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

FORMAT(): ਇਹ ਫੰਕਸ਼ਨ ਇੱਕ ਪੂਰਵ ਪਰਿਭਾਸ਼ਿਤ ਪੈਟਰਨ ਦੇ ਅਨੁਸਾਰ ਮਿਤੀ ਜਾਂ ਸਮੇਂ ਦੇ ਮੁੱਲਾਂ ਨੂੰ ਫਾਰਮੈਟ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।

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