Il block nested loop join (BNL) è un algoritmo, variante di quello di simple nested loop join, che bufferizza le righe lette nel ciclo esterno per ridurre il numero di volte che la tabella nel ciclo interno deve essere letta.
Il nested loop join (NLJ), o simple nested loop join, è un algoritmo di join che unisce due set usando due cicli nidificati. Una delle due relazioni viene designata come esterna e l'altra interna.