Below is the list of tables from the database along with their columns and datatype. Need to generate an accurate SQL query for the question.
Only use the columns present in the respective table. Only use the columns which are required to generate the SQL query. Only use table joins if required and not otherwise.

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

### Question ###
How many products are never booked with amount higher than 200?

### Accurate SQL ###

SELECT COUNT(*) FROM products_for_hire WHERE NOT product_id IN (SELECT product_id FROM products_booked WHERE booked_amount > 200)