Database schema:
CREATE TABLE Products (
  product_id NUMBER PRIMARY KEY,
  product_type_code TEXT,
  product_name TEXT,
  product_price NUMBER
);
CREATE TABLE Addresses (
  address_id NUMBER PRIMARY KEY,
  address_details TEXT
);
CREATE TABLE Customers (
  customer_id NUMBER PRIMARY KEY,
  address_id NUMBER,
  payment_method_code TEXT,
  customer_number TEXT,
  customer_name TEXT,
  customer_address TEXT,
  customer_phone TEXT,
  customer_email TEXT
);
CREATE TABLE Customer_Orders (
  order_id NUMBER PRIMARY KEY,
  customer_id NUMBER,
  order_date TIME,
  order_status_code TEXT,
  FOREIGN KEY (customer_id) REFERENCES Customers(customer_id)
);
CREATE TABLE Order_Items (
  order_item_id NUMBER,
  order_id NUMBER,
  product_id NUMBER,
  order_quantity TEXT,
  FOREIGN KEY (product_id) REFERENCES Products(product_id),
  FOREIGN KEY (order_id) REFERENCES Customer_Orders(order_id)
);

Question: What is the total number of Monitor products that have been ordered?
SQL: SELECT sum(order_quantity) FROM Order_items AS T1 JOIN Products AS T2 ON T1.product_id  =  T2.product_id WHERE T2.product_name  =  "Monitor"

Question: How many customers have an order?
SQL: SELECT count(DISTINCT customer_id) FROM Customer_orders

Question: How many products do we have?
SQL: SELECT count(*) FROM Products

Question: What is the payment method code used by most number of customers?
SQL: SELECT payment_method_code FROM Customers GROUP BY payment_method_code ORDER BY count(*) DESC LIMIT 1

Question: Show the minimum, average, maximum price for all products.
SQL: SELECT min(product_price) ,  avg(product_price) ,  max(product_price) FROM Products

Question: Count the number of products.
SQL: SELECT count(*) FROM Products

Question: Show all product names with price higher than the average.
SQL: SELECT product_name FROM Products WHERE product_price  >  (SELECT avg(product_price) FROM Products)

Question: What are the names of products that have not been ordered?
SQL: SELECT product_name FROM Products EXCEPT SELECT T1.product_name FROM Products AS t1 JOIN Order_items AS T2 ON T1.product_id  =  T2.product_id

Question: Give the name of the most expensive Clothes product.
SQL: SELECT product_name FROM Products WHERE product_type_code  =  "Clothes" ORDER BY product_price DESC LIMIT 1

Question: Give the payment method code and customer number corresponding to the customer named Jeromy.
SQL: SELECT payment_method_code ,  customer_number FROM Customers WHERE customer_name  =  "Jeromy"

Question: Show all customer names with the  payment method code used by least number of customers.
SQL: SELECT customer_name FROM Customers WHERE payment_method_code  =  ( SELECT payment_method_code FROM Customers GROUP BY payment_method_code ORDER BY count(*) ASC LIMIT 1)

Question: Show all hardware type products in ascending order of price.
SQL: SELECT product_name FROM Products WHERE product_type_code  =  "Hardware" ORDER BY product_price ASC

Question: Count the number of different customers who have bought a Monitor Product.
SQL: SELECT count(DISTINCT T3.customer_id) FROM Order_items AS T1 JOIN Products AS T2 ON T1.product_id  =  T2.product_id JOIN Customer_orders AS T3 ON T3.order_id  =  T1.order_id WHERE T2.product_name  =  "Monitor"

Question: What are the order ids and corresponding order dates for orders with a quantity greater than 6 or consisting of more than 3 products?
SQL: SELECT T1.order_date ,  T1.order_id FROM Customer_Orders AS T1 JOIN Order_items AS T2 ON T1.order_id  =  T2.order_id WHERE T2.order_quantity  >  6 UNION SELECT T1.order_date ,  T1.order_id FROM Customer_Orders AS T1 JOIN Order_items AS T2 ON T1.order_id  =  T2.order_id GROUP BY T1.order_id HAVING count(*)  >  3;

Question: What is the customer address, customer phone, and customer email for Jeromy?
SQL: SELECT customer_address ,  customer_phone ,  customer_email FROM Customers WHERE customer_name  =  "Jeromy"

Question: Show the id and the product type for all products, order by product name.
SQL: SELECT product_id ,  product_type_code FROM Products ORDER BY product_name

Question: How many customers do not have an order?
SQL: SELECT count(*) FROM Customers WHERE customer_id NOT IN  ( SELECT customer_id FROM Customer_orders)

Question: Count the number of differnt customers who have made an order.
SQL: SELECT count(DISTINCT customer_id) FROM Customer_orders

Question: Count the number of addresses.
SQL: SELECT count(*) FROM Addresses

Question: What is the payment method and customer number for customer named Jeromy?
SQL: SELECT payment_method_code ,  customer_number FROM Customers WHERE customer_name  =  "Jeromy"

Question: What is the order status code that is most common?
SQL: SELECT order_status_code FROM Customer_orders GROUP BY order_status_code ORDER BY count(*) DESC LIMIT 1

Question: What is the code of the product type that is least common?
SQL: SELECT product_type_code FROM Products GROUP BY product_type_code ORDER BY count(*) ASC LIMIT 1