The reason for this is that the sacrifice fly, unlike the sacrifice bunt, is not considered a tactical maneuver (players don't try to hit a fly ball to advance a runner—they are unable to do that consistently anyway). Unlike a sacrifice bunt, which may be scored if a runner advances from any base to any base, a sacrifice fly is only credited if a runner scores on the play. Therefore, when a runner on first or second base tags on a fly ball and advances no further than third base, no sacrifice is given and the batter is charged with an at-bat. Also, if a runner tags and advances from second base (or, theoretically, from first base) all the way to home and scores (without an intervening error) the batter is credited with a sacrifice fly, as well as a second RBI if a runner on third also scores. At the professional level this will only typically occur in unusual circumstances that prevent the defense from making an immediate throw back to the infield, such as an outfielder colliding with the wall while making a catch on the warning track.