When building a custom join list in Popdock, choosing the correct join type ensures you see exactly the data you need. In the examples below, we are going to join a Products list and Inventory list with Warehouse Stock to demonstrate the behaviors and data returned for each join type. In this scenario, the different join types can help find stock gaps, spot data errors, or get a complete view of your inventory. This guide explains each join type in simple, customer-friendly terms with clear examples so you can confidently decide which option works best for your scenario.
Below are two simple example lists.
From List: Products (Your Product Catalog)
| ProductID | Product Name |
|---|---|
| 1001 | Red Widget |
| 1002 | Blue Widget |
| 1003 | Green Widget |
| 1004 | Yellow Widget |
To List: Inventory (Current Warehouse Stock)
| SKU | Qty On Hand |
|---|---|
| 1001 | 25 |
| 1003 | 0 |
| 2001 | 10 |
Each join type below shows what happens when you join From: Products to To: Inventory on ProductID = SKU.
Left Outer Join
The Left Outer join will show you all products, even if they have no inventory.
This join type could be used to identify products that need to be reordered.
Result of Left Outer Join (Products → Inventory)
| ProductID | Product Name | SKU | Qty On Hand |
|---|---|---|---|
| 1001 | Red Widget | 1001 | 25 |
| 1002 | Blue Widget | NULL | NULL |
| 1003 | Green Widget | 1003 | 0 |
| 1004 | Yellow Widget | NULL | NULL |
Why this matters
- Products 1002 and 1004 have no matching inventory record. They are likely out of stock or not yet stocked.
- Product 1003 has 0 quantity and needs to be reordered.
This join type will show you every product and show you which ones have stock problems.
Inner Join
The Inner join will only show you the products that have matching inventory entries.
This join can be used to quickly focus on items currently in stock.
Result of Inner Join
| ProductID | Product Name | SKU | Qty On Hand |
|---|---|---|---|
| 1001 | Red Widget | 1001 | 25 |
| 1003 | Green Widget | 1003 | 0 |
Why this matters
- Doesn’t show Blue Widget (1002) and Yellow Widget (1004) because they have no inventory entries.
- Shows exactly what is in the warehouse.
This join can be used to show only the products currently being tracked in inventory.
Right Outer Join
The Right Outer join will show you all inventory records, even if there is no matching product in your catalog.
This join type can be used to identify mystery SKUs or bad data.
Result of Right Outer Join
| ProductID | Product Name | SKU | Qty On Hand |
|---|---|---|---|
| 1001 | Red Widget | 1001 | 25 |
| 1003 | Green Widget | 1003 | 0 |
| NULL | NULL | 2001 | 10 |
Why this matters
- SKU 2001 exists in inventory but not in your product catalog. This usually signals a data mismatch, unlisted item, or setup error.
This join type can be used to show you every inventory record, including ones that don’t belong to any product.
Full Outer Join
The Full Outer join will show you everything from both lists; products with no stock and inventory entries with no matching product.
This join type can be used to complete reconciliation.
Result of Full Outer Join
| ProductID | Product Name | SKU | Qty On Hand |
|---|---|---|---|
| 1001 | Red Widget | 1001 | 25 |
| 1002 | Blue Widget | NULL | NULL |
| 1003 | Green Widget | 1003 | 0 |
| 1004 | Yellow Widget | NULL | NULL |
| NULL | NULL | 2001 | 10 |
Why this matters
This is the complete picture:
- Products with no matching inventory (1002 & 1004).
- Inventory records with no matching product (SKU 2001).
- All valid matches (1001 & 1003).
This join type shows you everything so you can reconcile your system.
Summary
| Join Type | What You See | Primary Use Case |
|---|---|---|
| Left Outer | All products + any matching inventory | Identify items with no stock / reorder list |
| Inner | Only matched product ↔ inventory pairs | See items currently in stock |
| Right Outer | All inventory + any matching products | Spot mystery SKUs or data errors |
| Full Outer | Everything from both lists | Full audit & reconciliation |
Final Tips for Join Types in Popdock
- Start with a Left Outer if you’re unsure, as it is the most commonly used.
- Look for blank (null) values to understand where data doesn’t match.
- Check to see if your join field is unique or maybe you need a second join field to complete your join correctly. Sometimes you need to match on multiple fields. For example, if you have the same ProductID in different warehouses, you might join on both ProductID AND WarehouseID.
- Full Outer Joins may take longer to process with very large datasets. Start with more specific join types when possible.
If you need help building a join list or determining which join type is right for your data, our support team is always here to assist!