Are you looking for this?
SELECT q.product_name, q.account_name,
CASE WHEN r.product_id IS NULL THEN 'no' ELSE 'yes' END status
FROM
(
SELECT product_id, product_name, account_id, account_name
FROM product p CROSS JOIN account a
) q LEFT JOIN ranging r
ON q.product_id = r.product_id
AND q.account_id = r.account_id
ORDER BY q.product_name, q.account_name
Sample output:
| PRODUCT_NAME | ACCOUNT_NAME | STATUS | ---------------------------------------- | Product 1 | Account A | yes | | Product 1 | Account B | no | | Product 1 | Account C | yes | | Product 2 | Account A | yes | | Product 2 | Account B | no | | Product 2 | Account C | no | | Product 3 | Account A | no | | Product 3 | Account B | no | | Product 3 | Account C | no |
Here is SQLFiddle demo