code: func (b *PlanBuilder) buildNaturalJoin(p *LogicalJoin, leftPlan, rightPlan LogicalPlan, join *ast.Join) error {
  	return b.coalesceCommonColumns(p, leftPlan, rightPlan, join.Tp == ast.RightJoin, nil)
  }
docs: // buildNaturalJoin builds natural join output schema. It finds out all the common columns
  // then using the same mechanism as buildUsingClause to eliminate redundant columns and build join conditions.
  // According to standard SQL, producing this display order:
  // 	All the common columns
  // 	Every column in the first (left) table that is not a common column
  // 	Every column in the second (right) table that is not a common column