6 / 01 /2555

วันนี้อาจารย์ได้สอนลงโปรแกรม  SQL Server และอาจารย์ยังให้ทำแบบทดสอบดังต่อไปนี้ 

ข้อ 1 ให้ดึงข้อมูลจาก HumanResources.Employee และให้แสดง รหัสพนักงาน กับ จำนวนการลาป่วย พร้องกับเรียงลำดับจากมากไปหาน้อย

SELECT     EmployeeID 

                ,[SickLeaveHours]

FROM         HumanResources.Employee As EMP

ORDER BY [SickLeaveHours] DESC

ผลลัพท์ที่เกิดขึ้น

Large_untitled1

 

ข้อ 2  ให้ แสดงจำนวนการลาป่วย มากกว่า 65 

SELECT       EmployeeID

                  ,[SickLeaveHours]

FROM          HumanResources.Employee As EMP

WHERE SickLeaveHours > '65'

ORDER BY [SickLeaveHours] DESC

 ผลลัพท์ที่เกิดขึ้น

Large_untitled2

 

ข้อ 3 ให้แสดงชื่อและนามสกุลของพนักงานอยู่คอลัมน์เดียวกัน

SELECT      EmployeeID

                ,[SickLeaveHours]

               ,CON.FirstName + ' ' + CON.LastName AS [Fullname]     

FROM       HumanResources.Employee As EMP

INNER JOIN      Person.Contact AS CON

                      ON EMP.ContactID = CON.ContactID

WHERE SickLeaveHours > '65'

ORDER BY [SickLeaveHours] DESC

ผลลัพท์ที่เกิดขึ้น

Large_untitled3

 

ข้อ 4  ให้แสดงสถานะของพนักงานว่าแต่งงานแล้ว 

SELECT      EmployeeID

                 ,[SickLeaveHours]

                 ,[MaritalStatus]

                 ,CON.FirstName + ' ' + CON.LastName AS [Fullname]     

FROM          HumanResources.Employee As EMP

INNER JOIN      Person.Contact AS CON

                       ON EMP.ContactID = CON.ContactID

WHERE MaritalStatus Like 'M%'

And SickLeaveHours > '65'

ORDER BY [SickLeaveHours] DESC

Go

ผลลัพท์ที่เกิดขึ้น

Large_untitled4

 

เมื่อนำโค้ดทั้งหมดมารวมกัน

SELECT [EmployeeID]
,[SickLeaveHours]
FROM HumanResources.Employee AS EMP
ORDER BY EMP.EmployeeID DESC

SELECT [EmployeeID]
,[SickLeaveHours]
FROM HumanResources.Employee AS EMP
WHERE SickLeaveHours > '65'
ORDER BY EMP.SickLeaveHours DESC
SELECT EmployeeID
,SickLeaveHours

,CON.FirstName + ' ' + CON.LastName AS [ชื่อ - สกุล]
FROM HumanResources.Employee AS EMP
INNER JOIN Person.Contact AS con
ON EMP.EmployeeID = Con.ContactID
WHERE SickLeaveHours>65
ORDER BY [SickLeaveHours]DESC
Go

SELECT
EMP.EmployeeID
,CON.FirstName + ' ' + CON.LastName AS [ชื่อ - สกุล]
,MaritalStatus
,SickLeaveHours
FROM HumanResources.Employee As EMP
INNER JOIN Person.Contact AS con
ON EMP.ContactID = Con.ContactID
WHERE SickLeaveHours>65
AND MaritalStatus LIKE 'M%'
ORDER BY [SickLeaveHours]DESC
Go