A JOIN condition can contain OR to allow multiple alternative matching rules.
Some business relationships allow records to match through more than one valid key or condition.
Match customers using either CustomerID or an approved legacy customer reference.
SELECT
c.CustomerName,
r.ReferenceNumber
FROM Customers c
INNER JOIN CustomerReferences r
ON c.CustomerID = r.CustomerID
OR c.LegacyCustomerID = r.LegacyCustomerID;
Used in migration projects, legacy systems, master-data matching, and data integration.
- OR allows alternative matching conditions.
- It can create multiple matches unexpectedly.
- Complex OR conditions can affect performance.
- Parentheses improve readability when combined with AND.
- UNION may sometimes be easier to optimize or understand.
Can OR be used in a JOIN condition?
Yes. OR can define alternative conditions under which rows should match.
What is a risk of OR in JOIN conditions?
It can create multiple matches and increase result size or query complexity.