Back

Understanding Join Types in Popdock: Left Outer, Inner, Right Outer, and Full Outer

Published: Nov 26, 2025
Post Author Written by Joseph Barb

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)

ProductIDProduct Name
1001Red Widget
1002Blue Widget
1003Green Widget
1004Yellow Widget

To List: Inventory (Current Warehouse Stock)

SKUQty On Hand
100125
10030
200110

Each join type below shows what happens when you join From: Products to To: Inventory on ProductID = SKU.

SKU 2001 appears in Inventory but not in Products—this represents a common data mismatch scenario.


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)
ProductIDProduct NameSKUQty On Hand
1001Red Widget100125
1002Blue WidgetNULLNULL
1003Green Widget10030
1004Yellow WidgetNULLNULL

A Qty On Hand of 0 means the product is tracked but out of stock, while NULL means there’s no inventory record at all.

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
ProductIDProduct NameSKUQty On Hand
1001Red Widget100125
1003Green Widget10030
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
ProductIDProduct NameSKUQty On Hand
1001Red Widget100125
1003Green Widget10030
NULLNULL200110
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
ProductIDProduct NameSKUQty On Hand
1001Red Widget100125
1002Blue WidgetNULLNULL
1003Green Widget10030
1004Yellow WidgetNULLNULL
NULLNULL200110
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 TypeWhat You SeePrimary Use Case
Left OuterAll products + any matching inventoryIdentify items with no stock / reorder list
InnerOnly matched product ↔ inventory pairsSee items currently in stock
Right OuterAll inventory + any matching productsSpot mystery SKUs or data errors
Full OuterEverything from both listsFull 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!

Feeling stuck? Get the support and guidance you need to help you power through any data challenge

We're on your integration team. Connect with our people and let us know how we can help you.