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 order_items ( order_item_id number, product_id number, order_id number, order_item_status text, order_item_details text )
TABLE: CREATE TABLE shipment_items ( shipment_id number, order_item_id number )
TABLE: CREATE TABLE shipments ( shipment_id number, order_id number, invoice_number number, shipment_tracking_number text, shipment_date time, other_shipment_details text )
TABLE: CREATE TABLE customers ( customer_id number, customer_name text, customer_details text )
TABLE: CREATE TABLE orders ( order_id number, customer_id number, order_status text, date_order_placed time, order_details text )
TABLE: CREATE TABLE invoices ( invoice_number number, invoice_date time, invoice_details text )
TABLE: CREATE TABLE products ( product_id number, product_name text, product_details text )

### Question ###
List the names of all distinct products in alphabetical order.

### Accurate SQL ###

SELECT DISTINCT product_name FROM products ORDER BY product_name