CREATE TABLE customer_orders (customer_id VARCHAR, order_id VARCHAR)
CREATE TABLE order_items (order_id VARCHAR, product_id VARCHAR)
CREATE TABLE customers (customer_name VARCHAR, customer_id VARCHAR)

Find the names of customers who have bought by at least three distinct products.
SELECT DISTINCT T1.customer_name FROM customers AS T1 JOIN customer_orders AS T2 ON T1.customer_id = T2.customer_id JOIN order_items AS T3 ON T2.order_id = T3.order_id GROUP BY T1.customer_id HAVING COUNT(DISTINCT T3.product_id) >= 3
SELECT DISTINCT "T1"."customer_name" FROM "customers" AS "T1" JOIN "customer_orders" AS "T2" ON "T1"."customer_id" = "T2"."customer_id" JOIN "order_items" AS "T3" ON "T2"."order_id" = "T3"."order_id" GROUP BY "T1"."customer_id" HAVING COUNT(DISTINCT "T3"."product_id") >= 3