Try:
SELECT TOP 8 e.Name, e.Designation, s.Salary FROM Employee_Table e
JOIN Salary_Table s
ON e.ID = s.EmpID
ORDER BY s.Salary
[EDIT]
Don't try it quite like that - you want to start with a JOIN to force the two tables together on the relevant data - the Employee ID:
Then, you need to order your rows, and provide a row number - otherwise it's not a "highest" value!
Try this:
SELECT Name, Designation, Salary FROM
(SELECT e.Name, e.Designation, s.Salary , ROW_NUMBER() OVER (ORDER BY s.Salary DESC) AS R FROM Employee_Table e
JOIN Salary_Table s
ON e.ID = s.EmpID) AS A
WHERE A.R=3
It's pretty simple, if you look at the bits:
SELECT e.Name, e.Designation, s.Salary , ROW_NUMBER() OVER (ORDER BY s.Salary DESC) AS R FROM Employee_Table e
JOIN Salary_Table s
ON e.ID = s.EmpID
All this does is say that the two tables are linked together by the Employee ID, and that I want the row number of each row ordered by salary, highest first. The "e" and "s" bits just proved shorter names for the tables, so I don't have to type Employee_Table and Salary_Table all the time!
The outer SELECT then specifies exactly what you want to return - the Third row only, and the relevant info from that row.