An interactive tool to help you understand nested D3 selections

What does it mean when D3 selections are chained together? For example:

select('table').selectAll('tr');

Why is this different to:

selectAll('table tr');

Why are D3 selections, at their core, arrays of arrays?

This interactive tool helps you understand.