# Nested Loops Join: Efficient and Simple Join
> [!Note]
> `The **Nested Loops Join** delivers high performance by iterating the **outer input** row-by-row and probing the **inner input**—ideally via an **Index Seek**—while the **optimizer** dynamically chooses join order and access methods.`
The Nested Loops Join operator combines two data sources by taking each row from the **outer input** and searching for matching rows in the **inner input**, making it inherently **row-by-row** in nature. Its performance is optimal when the outer set is small and the inner set is backed by a suitable **index**, allowing rapid **Index Seek** operations; absent an index, the engine may resort to an **Index Scan** or even a **Table Scan**. Join ordering is not dictated by the SQL query itself but is instead determined by the **optimizer** based on cost estimates. While this join method is straightforward and efficient for moderate volumes, it can suffer when processing very large, non-indexed tables—situations where **Hash Joins** or **Merge Joins** often offer superior scalability and throughput.
---
## ## References
- Korotkevitch, D. (2022). _SQL Server advanced troubleshooting and performance tuning: Best practices and techniques_. O’Reilly Media.
- Nevarez, B. (2022). _SQL Server query tuning and optimization: Optimize Microsoft SQL Server 2022 queries and applications_. Packt Publishing.