CREATE TABLE products_booked (booking_id NUMBER, product_id NUMBER, returned_yn CLOB, returned_late_yn CLOB, booked_count NUMBER, booked_amount NUMBER)
CREATE TABLE products_for_hire (product_id NUMBER, product_type_code CLOB, daily_hire_cost NUMBER, product_name CLOB, product_description CLOB)
CREATE TABLE view_product_availability (product_id NUMBER, booking_id NUMBER, status_date TIME, available_yn CLOB)
CREATE TABLE discount_coupons (coupon_id NUMBER, date_issued TIME, coupon_amount NUMBER)
CREATE TABLE payments (payment_id NUMBER, booking_id NUMBER, customer_id NUMBER, payment_type_code CLOB, amount_paid_in_full_yn CLOB, payment_date TIME, amount_due NUMBER, amount_paid NUMBER)
CREATE TABLE bookings (booking_id NUMBER, customer_id NUMBER, booking_status_code CLOB, returned_damaged_yn CLOB, booking_start_date TIME, booking_end_date TIME, count_hired CLOB, amount_payable NUMBER, amount_of_discount NUMBER, amount_outstanding NUMBER, amount_of_refund NUMBER)
CREATE TABLE customers (customer_id NUMBER, coupon_id NUMBER, good_or_bad_customer CLOB, first_name CLOB, last_name CLOB, gender_mf CLOB, date_became_customer TIME, date_last_hire TIME)

How many different product types are there?
SELECT COUNT(DISTINCT product_type_code) FROM products_for_hire
SELECT COUNT(DISTINCT "product_type_code") FROM "products_for_hire"