MySQL solutions using double NOT EXISTS. Compare counts is not accurate.
select customer_id from Customer c1\nwhere not exists\n\t(select * from Product p\n\twhere not exists\n\t\t(select * from Customer c2\n\t\twhere c2.product_key 
select customer_id from Customer c1\nwhere not exists\n\t(select * from Product p\n\twhere not exists\n\t\t(select * from Customer c2\n\t\twhere c2.product_key = p.product_key\n\t\tand c2.customer_id = c1.customer_id))\ngroup by customer_id
[]