← Files ClickHouseARCHIVED FILE
skills/clickhouse-best-practices/rules/query-join-use-any.md
1.08 KB · Oct 3, 2026 · 06:07 UTC
--- title: Use ANY JOIN When Only One Match Needed impact: HIGH impactDescription: "Returns first match only; less memory and faster execution" tags: [query, JOIN, ANY, performance] --- ## Use ANY JOIN When Only One Match Needed **Impact: HIGH** Use `ANY` JOINs when you only need a single match rather than all matches. They consume less memory and execute faster. **Incorrect (returns all matches):** ```sql -- Returns all matching rows, uses more memory SELECT o.order_id, c.name FROM orders o LEFT JOIN customers c ON c.id = o.customer_id; ``` **Correct (returns first match only):** ```sql -- Returns only first match per row, faster and less memory SELECT o.order_id, c.name FROM orders o LEFT ANY JOIN customers c ON c.id = o.customer_id; ``` **ANY JOIN types:** | Type | Behavior | |------|----------| | `LEFT ANY JOIN` | At most one match from right table | | `INNER ANY JOIN` | At most one match, only matching rows | | `RIGHT ANY JOIN` | At most one match from left table | Reference: [Minimize and Optimize JOINs](https://clickhouse.com/docs/best-practices/minimize-optimize-joins)
SHA-256: ea1c4f9b1c952beb20fc2ab9576f37cffe8205329021c70446c71f9efda53558