SQL for Supply Chain Analysts

2 min read

SQL is valuable when supply-chain data is too large, fragmented or repetitive for manual spreadsheet work.

The useful depth for an analyst is usually enough to answer operational questions from orders, inventory, suppliers, forecasts and shipments.

Data model basics

Understand the grain of each table.

Examples:

  • order header;
  • order line;
  • shipment;
  • inventory snapshot;
  • purchase order;
  • receipt;
  • forecast.

Joining order-level and line-level tables carelessly can duplicate values.

SELECT and filters

Start by retrieving only what matters.

Examples:

  • open orders;
  • overdue POs;
  • one warehouse;
  • one month of shipments.

Joins

Common joins:

  • PO → supplier;
  • order line → product;
  • shipment → carrier;
  • inventory → material master;
  • forecast → actual demand.

Always ask whether the relationship is one-to-one, one-to-many or many-to-many.

Aggregations

Use:

  • SUM;
  • COUNT;
  • AVG;
  • MIN/MAX;
  • GROUP BY.

Examples:

  • spend by supplier;
  • inventory by site;
  • late orders by customer;
  • freight by lane.

Window functions

Useful for:

  • ranking suppliers;
  • cumulative demand;
  • previous shipment date;
  • rolling average;
  • latest record.

Date logic

Supply-chain analysis frequently needs:

  • lead time;
  • aging;
  • week/month buckets;
  • rolling periods;
  • date differences.

Inventory and order examples

Example question:

Which SKUs have stock below two weeks of recent demand and open supply arriving after the next required date?

This may require inventory, demand and PO tables.

Data quality checks

Use SQL to identify:

  • duplicates;
  • null keys;
  • negative quantity;
  • impossible dates;
  • unmatched master data;
  • unit inconsistencies.

Portfolio project

Create a small relational model:

  • products;
  • suppliers;
  • purchase orders;
  • inventory;
  • customer orders;
  • shipments.

Then answer five operational questions with documented SQL.

SQL becomes valuable when you can explain the business meaning of the rows you return.

Sources