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'
Proprio come le altre domande su cui ti ho aiutato...
Elenca una tabella alla volta, INNER JOIN (o LEFT JOIN) alla tabella successiva "ON" qualunque sia il criterio correlato a queste due tabelle... Quindi, INNER JOIN (o LEFT JOIN) alla tabella successiva nella gerarchia delle relazioni.
Se disponi di più record di contatto per la stessa persona, ad esempio account e/o email diversi, riceverai più record.