Database schema:
CREATE TABLE Products (
  product_id NUMBER PRIMARY KEY,
  parent_product_id NUMBER,
  product_name TEXT,
  product_price NUMBER,
  product_color TEXT,
  product_size TEXT,
  product_description TEXT
);
CREATE TABLE Customers (
  customer_id NUMBER PRIMARY KEY,
  gender_code TEXT,
  customer_first_name TEXT,
  customer_middle_initial TEXT,
  customer_last_name TEXT,
  email_address TEXT,
  login_name TEXT,
  login_password TEXT,
  phone_number TEXT,
  address_line_1 TEXT,
  town_city TEXT,
  county TEXT,
  country TEXT
);
CREATE TABLE Customer_Payment_Methods (
  customer_id NUMBER,
  payment_method_code TEXT,
  FOREIGN KEY (customer_id) REFERENCES Customers(customer_id)
);
CREATE TABLE Invoices (
  invoice_number NUMBER PRIMARY KEY,
  invoice_status_code TEXT,
  invoice_date TIME
);
CREATE TABLE Orders (
  order_id NUMBER PRIMARY KEY,
  customer_id NUMBER,
  order_status_code TEXT,
  date_order_placed TIME,
  FOREIGN KEY (customer_id) REFERENCES Customers(customer_id)
);
CREATE TABLE Order_Items (
  order_item_id NUMBER PRIMARY KEY,
  product_id NUMBER,
  order_id NUMBER,
  order_item_status_code TEXT,
  FOREIGN KEY (order_id) REFERENCES Orders(order_id),
  FOREIGN KEY (product_id) REFERENCES Products(product_id)
);
CREATE TABLE Shipments (
  shipment_id NUMBER PRIMARY KEY,
  order_id NUMBER,
  invoice_number NUMBER,
  shipment_tracking_number TEXT,
  shipment_date TIME,
  FOREIGN KEY (order_id) REFERENCES Orders(order_id),
  FOREIGN KEY (invoice_number) REFERENCES Invoices(invoice_number)
);
CREATE TABLE Shipment_Items (
  shipment_id NUMBER PRIMARY KEY,
  order_item_id NUMBER,
  FOREIGN KEY (order_item_id) REFERENCES Order_Items(order_item_id),
  FOREIGN KEY (shipment_id) REFERENCES Shipments(shipment_id)
);

Question: What are the invoice statuses for all orderes that have not been shipped out yet?
SQL: SELECT invoice_status_code FROM Invoices WHERE invoice_number NOT IN ( SELECT invoice_number FROM Shipments )

Question: What are the first names, middle initials, last names, and payment methods of all customers?
SQL: SELECT T1.customer_first_name ,  T1.customer_middle_initial ,  T1.customer_last_name ,  T2.Payment_method_code FROM Customers AS T1 JOIN Customer_Payment_Methods AS T2 ON T1.customer_id  =  T2.customer_id

Question: What are the status codes and dates placed for all of the orders?
SQL: SELECT order_status_code ,  date_order_placed FROM Orders

Question: List all the pairs of buyer first names and product names.
SQL: SELECT T1.customer_first_name ,  T4.product_name FROM Customers AS T1 JOIN Orders AS T2 ON T1.customer_id  =  T2.customer_id JOIN Order_items AS T3 ON T2.order_id  =  T3.order_id JOIN Products AS T4 ON T3.product_id  =  T4.product_id

Question: How many different customers have ordered things?
SQL: SELECT count(DISTINCT customer_id) FROM Orders

Question: What are the dates and ids of the invoices that are related to at least 2 shipments?
SQL: SELECT T1.invoice_date ,  T1.invoice_number FROM Invoices AS T1 JOIN Shipments AS T2 ON T1.invoice_number  =  T2.invoice_number GROUP BY T1.invoice_number HAVING count(*)  >=  2

Question: How many items are shipped?
SQL: SELECT count(*) FROM Shipment_Items

Question: List the names of the products being shipped and the corresponding shipment date.
SQL: SELECT T1.product_name ,  T4.shipment_date FROM Products AS T1 JOIN Order_items AS T2 ON T1.product_id  =  T2.product_id JOIN Shipment_Items AS T3 ON T2.order_item_id  =  T3.order_item_id JOIN Shipments AS T4 ON T3.shipment_id  =  T4.shipment_id

Question: What is the least common order status?
SQL: SELECT order_status_code FROM Orders GROUP BY order_status_code ORDER BY count(*) LIMIT 1

Question: How many products have been shipped?
SQL: SELECT count(*) FROM Shipment_Items

Question: How many customers do not have any payment method?
SQL: SELECT count(*) FROM Customers WHERE customer_id NOT IN ( SELECT customer_id FROM Customer_Payment_Methods )

Question: How many customers do not have a listed payment method?
SQL: SELECT count(*) FROM Customers WHERE customer_id NOT IN ( SELECT customer_id FROM Customer_Payment_Methods )

Question: What are the product sizes of the products whose name has the substring 'Dell'?
SQL: SELECT product_size FROM Products WHERE product_name LIKE '%Dell%'

Question: What are the ids and dates of the orders with at least two products?
SQL: SELECT T1.order_id ,  T1.date_order_placed FROM Orders AS T1 JOIN Order_items AS T2 ON T1.order_id  =  T2.order_id GROUP BY T1.order_id HAVING count(*)  >=  2

Question: What are the email addresses, cities, and counties listed for all cusomters who are from the gender that orders less often?
SQL: SELECT email_address ,  town_city ,  county FROM Customers WHERE gender_code  =  ( SELECT gender_code FROM Customers GROUP BY gender_code ORDER BY count(*) ASC LIMIT 1 )

Question: How much do the products cost on average?
SQL: SELECT avg(product_price) FROM Products

Question: What are the addresses, towns, and county information for all customers who live in the United States?
SQL: SELECT address_line_1 ,  town_city ,  county FROM Customers WHERE Country  =  'USA'

Question: How many orders has each gender placed?
SQL: SELECT T1.gender_code ,  count(*) FROM Customers AS T1 JOIN Orders AS T2 ON T1.customer_id  =  T2.customer_id GROUP BY T1.gender_code

Question: WHat are the first and last names, and middle initials of all customers who did not make any orders?
SQL: SELECT customer_first_name ,  customer_middle_initial ,  customer_last_name FROM Customers EXCEPT SELECT T1.customer_first_name ,  T1.customer_middle_initial ,  T1.customer_last_name FROM Customers AS T1 JOIN Orders AS T2 ON T1.customer_id  =  T2.customer_id