SELECT
contacts.id AS CONTACTID,
accounts.id AS ACCOUNTID,
contacts.first_name,
contacts.last_name,
contacts.phone_work,
contacts.phone_fax,
contacts.department,
contacts.title,
contacts.description,
contacts.salutation,
email_addresses.email_address,
contacts.deleted
FROM
contacts
INNER JOIN accounts_contacts
ON contacts.id = accounts_contacts.contact_id
JOIN accounts
ON accounts.id = accounts_contacts.account_id
INNER JOIN email_addr_bean_rel EABR
ON contacts.id = EABR.bean_id
INNER JOIN email_addresses EM
ON EABR.email_address_id = EM.id
WHERE
contacts.first_name = 'shamraiz'
Assim como as outras questões em que te ajudei...
Liste uma tabela por vez, INNER JOIN (ou LEFT JOIN) para a próxima tabela "ON" qualquer que seja o critério que essas duas tabelas se relacionem... Em seguida, INNER JOIN (ou LEFT JOIN) para a próxima tabela na hierarquia de relacionamento.
Se você tiver vários registros de contato para a mesma pessoa, como contas e/ou e-mails diferentes, você receberá vários registros.