Only activate LEFT JOIN lookup if another LEFT JOIN variable is TRUE?

if using UNION ALL all the JOINS are actively looking for matches, it does not disable the LEFT JOIN and runs even if the page.state!='MembersOnly', it does not solve it the best way. However, only thing that UNION can do is to limit the number of requests to db, so that the LEFT JOIN will be ran less frequently, because in the union query I can add more individual conditions to the main query… I need to test that theory.

to more clarify I wanted this:

LEFT JOIN page ON main.id=page.id and main.type=0
if (page.state='MembersOnly') 
LEFT JOIN permission ON permission.pageid=page.id and permission.userid=?
else 
///do nothing

Every extra added join adds around 0.0030 seconds execution time, so that is my problem, i have like 20+ joins and about 10 are permission joins, Union may limit requests I hope.

Thank you for the idea!