Please refer below code
SQL
DECLARE @EmployeeAttendance AS TABLE(EmpNo INT,Location INT,WorkingDay DATETIME,InTime DATETIME,OutTime DATETIME)
INSERT INTO @EmployeeAttendance VALUES(312,1,'6/22/2016','6/22/2016 9:47','6/22/2016 21:47')
INSERT INTO @EmployeeAttendance VALUES(312,1,'6/24/2016','6/24/2016 10:47','6/24/2016 22:47')
INSERT INTO @EmployeeAttendance VALUES(312,1,'6/23/2016','6/23/2016 9:47','6/23/2016 21:47')
INSERT INTO @EmployeeAttendance VALUES(312,1,'6/21/2016','6/21/2016 9:30','6/23/2016 22:47')
INSERT INTO @EmployeeAttendance VALUES(313,2,'6/22/2016','6/22/2016 9:30','6/22/2016 15:10')
INSERT INTO @EmployeeAttendance VALUES(313,2,'6/24/2016','6/24/2016 9:00','6/24/2016 22:20')
INSERT INTO @EmployeeAttendance VALUES(313,2,'6/23/2016','6/23/2016 9:47','6/23/2016 15:20')
INSERT INTO @EmployeeAttendance VALUES(313,2,'6/21/2016','6/21/2016 9:30','6/23/2016 17:50')
INSERT INTO @EmployeeAttendance VALUES(313,2,'6/25/2016','6/21/2016 9:30','6/23/2016 17:50')
;WITH CTE
AS
(
SELECT TOP 100 percent *,DATEDIFF(HOUR,InTime,OutTime) HourWorked FROM @EmployeeAttendance
ORDER BY WorkingDay
)
SELECT DISTINCT c1.EmpNo,c1.WorkingDay,c1.HourWorked FROM CTE c1,CTE c2
WHERE (c1.WorkingDay = c2.WorkingDay - 1 AND c1.EmpNo = c2.EmpNo AND c1.HourWorked > 9 AND c2.HourWorked > 9)
OR (c1.WorkingDay = c2.WorkingDay + 1 AND c1.EmpNo = c2.EmpNo AND c1.HourWorked > 9 AND c2.HourWorked > 9)
ORDER BY c1.EmpNo