I need to join 5 tables using Inner Join.
Is this a good practice or will it make any inconsistency in later years?
Just have a look
SELECT Distinct(email)
FROM AP_GROUPS_INTO_ORGANIZATION M
INNER JOIN GROUPSDB G on G.ID = M.GROUPID
INNER JOIN aspnet_Roles r ON R.RoleName = G.GROUPNAME
INNER JOIN aspnet_UsersInRoles U ON U.RoleId = R.RoleId
INNER JOIN aspnet_membership a on a.UserId = U.UserId
WHERE G.GROUPNAME = 'GROUP001'
This should be fine. I see you are using the aspnet tables in the query and i would advise against altering their structure or indexes without some testing first to ensure you dont create new problems.
Its pretty common to have this number of joins if your data is highly normalized.