शुरू करेंमुफ़्त में शुरू करें

आपके मैनेजर कौन हैं?

इस अभ्यास में, हम IT-organization के उस डेटासेट का उपयोग करेंगे जो employee टेबल में दिया गया है। इस टेबल में फ़ील्ड हैं: ID (कर्मचारी का ID नंबर), Name (कर्मचारी का नाम), और Supervisor (सुपरवाइज़र का ID नंबर)।

IT-organization अलग-अलग भूमिकाओं और स्तरों से बनी है।

A section of the entire hierarchy

इस organization में एक IT डायरेक्टर है (ID=1, Heinz Griesser, Supervisor=0) जिसके अधीन कई कर्मचारी काम करते हैं। IT डायरेक्टर के नीचे IT आर्किटेक्चर मैनेजर है (ID=10, Andreas Sternig, Supervisor=1) जिसके अधीन तीन कर्मचारी हैं। Andreas Sternig के लिए Supervisor=1 है, जो IT-Director का ID है।

सबसे पहले, हम यह प्रश्न सुलझाना चाहते हैं: हर कर्मचारी का सुपरवाइज़र कौन है?

हम इस समस्या को डेटासेट पर रिकर्सिव क्वेरी चलाकर हल करेंगे।

यह अभ्यास पाठ्यक्रम का हिस्सा है

SQL Server में Hierarchical और Recursive Queries

पाठ्यक्रम देखें

अभ्यास निर्देश

  • employee_hierarchy नाम से एक CTE बनाएँ।
  • CTE के शुरुआती चरण में IT डायरेक्टर की जानकारी चुनें, जिसके लिए उनके Supervisor ID पर फ़िल्टर करें।
  • मैनेजर का नाम प्राप्त करने के लिए employee के साथ एक join करें।

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

-- Create the CTE employee_hierarchy
WITH ___ AS (
	SELECT
		ID, 
  		NAME,
  		Supervisor
	FROM employee
  	-- Start with the IT Director
	WHERE ___ = ___
	UNION ALL
	SELECT 
  		emp.ID,
  		emp.NAME,
  		emp.Supervisor
	FROM employee emp
  		JOIN employee_hierarchy
  		ON emp.Supervisor = employee_hierarchy.ID)
    
SELECT 
    cte.Name as EmployeeName,
    emp.Name as ManagerName
FROM employee_hierarchy as cte
	JOIN employee as emp
	-- Perform the JOIN on Supervisor and ID
	ON cte.___ = emp.___;
कोड संपादित करें और चलाएँ