It gives duplicates, because that is what you told it to do.
If you change it so that it returns
req_to_id
instead of
req_from_id
then it's obvious why:
SELECT r.f_name, r.Designationnm, r.Comapny_name, r.UserID, f.req_to_id
FROM tbl_Register r
LEFT JOIN tbl_friend_and_match_request f ON f.req_from_id = r.UserID
where Comapny_name like '%a%' or Designationnm like '%Manager%'
Becuase there are three rows in the request table that JOIN with the one row in the register table.
And there is no way that SQL on it's own has any idea which one you want!
f_name Designationnm Comapny_name UserID req_to_id
aaa CEO Apple 1 NULL
Rajeev General manager Dell 2 9
Rajeev General manager Dell 2 8
Rajeev General manager Dell 2 1
Suneal Managing director Apple 9 NULL
asa CEO Apple 8 NULL
Your tables need rethinking, or you need to decide how SQL should "pick" one of the options when this occurs.