Summary
UNNESTing an ARRAY in BigQuery creates a Cartesian product between the row and the array contents. Unnesting another array forms another Cartesian product with the previous unnest's output and the current array's elements. For example, unnesting separate arrays of a student's grades and allergies results in a multiplication of the counts of grades and allergies for each student. This happens because the grades and allergies, though referring to the same student, have no relationship.