Chicago White Sox pitcher Chris Sale and Cubs first baseman Anthony Rizzo were voted by fans onto the rosters for Tuesday's All-Star Game, and Los Angeles Angels shortstop Erick Aybar will replace Kansas City outfielder Alex Gordon.
Rizzo received 8.8 million votes among the 52.5 million ballots and Sale 6.7 million, Major League Baseball said Thursday. Voting was conducted on MLB.com, team websites and Twitter.
Rizzo joined Cubs shortstop Starlin Castro on the NL roster.
"It's good for the kids in the minor leagues to see kids in the big leagues make it," Rizzo said. "The more All-Stars you can have in your organization, the better."
MLB did not release voting totals for players other than the winners. The others on the AL ballot were all pitchers: Houston's Dallas Keuchel, Cleveland's Corey Kluber, the Angels' Garrett Richards and Detroit's Rick Porcello.
The losing NL players were Miami third baseman Casey McGehee, Colorado first baseman Justin Morneau, Washington third baseman Anthony Rendon and Atlanta outfielder Justin Upton.
Aybar joins fellow shortstops Derek Jeter and Alexei Ramirez on the AL roster. Gordon has been bothered by a sprained right wrist and received an injection Thursday.
There was no immediate announcement on a replacement for St. Louis catcher Yadier Molina, who is to have surgery Friday to repair a torn ligament in his right thumb and is likely to be sidelined for at least eight weeks.
MLB said Colorado's Morneau and Oakland All-Star third baseman Josh Donaldson have been picked to complete the participants for Monday's Home Run Derby at Target Field in Minneapolis.