Excellent question, Sean, thanks! I had to do some digging on the differences in the collation styles and the names of the first four databases (although I should have known those). I initially dismissed 10, thinking that it implied some sort of (AA),(AB,BB),(AC,BC,CC),(AD,BD,CD,DD) combination that you would get from a triangular join (d1.database_id<=d2.database_id), which was not present in the join conditions. However, once I realized that the join criteria is combining 3 m's with 3 m's and 1 t with 1 t, then 3x3+1x1=10 makes sense.
Of course, you would never see this type of query in the "real world" (or at least I hope not:hehe:), but this question made me think and do some research, which is very good. Gold star for Sean!:-D