As the case with every year, there are always surprises on the MLB's All-Star Game rosters - this year perhaps more glaring than the past. Some of the best in the game at their position, including Chris Sale and Buster Posey, were not included in this year's festivities.

But before we get to the upsetting news, let's start with this year's good surprises. The first that comes to mind is Nelson Cruz. The designated hitter for the Baltimore Orioles was signed as free agent this offseason on a bargain one-year $8 million deal. He served a 50-game suspension during the 2013 season with the Texas Rangers for violating the MLB's drug agreement, but has come back this year with a vengeance. The 34-year-old has recorded 28 home runs and 73 RBIs while batting .294 through the first half.

Another pleasant surprise (although it's actually not a surprise at all) is Derek Jeter. He'll be starting at shortstop for the AL all-stars in his final season as a professional baseball player and member of the New York Yankees. The 40-year-old is batting only .273 with two home runs and 29 runs scored, but baseball fans will agree that he deserves this selection as a proper farewell. He typically leads the league in all-star voting each year, having missed the game only three times in the past 17 years. That statistic alone deserves an all-star vote.

Perhaps even more surprising than Cruz and Jeter are the absences of starting pitchers Chris Sale and Stephen Stasburg as well as catcher Buster Posey. For reasons unknown, Sale was not voted to the AL roster despite posting a 2.16 ERA (second in the AL) and a 0.87 WHIP (first in the AL) for the Chicago White Sox in 13 starts. Strasburg, whose numbers are not as good as Sale's, are still more than fitting for an all-star pitcher. With a 3.47 ERA and 1.21 WHIP, the Washington National's pitcher leads the league in strikeouts with 140 in 19 starts. Statistics have shown that his defense hasn't provided him with much support, which explains his somewhat inflated stats. The fact that Sale and Strasburg are well-known stars compared to those who were picked over them (Scott Kazmir, Mark Buehrle, and Tyson Ross) is just as much of a surprise.

Lastly, Buster Posey of the San Francisco Giants was exempted from the NL roster. His statistics aren't wildly impressive (.287 AVG. 9 HR. 41 RBIs), but he is one of the best catchers and most consistent players in the game. After suffering a broken leg in 2011, Posey returned for an MVP season in 2012 and also took the league batting title - something a catcher hasn't done in 70 years. Of course past achievements are not part of the resume when getting elected to play in the all-star game, but Reds catcher Devin Mesoraco got the vote over Posey. Despite impressive stats thus far this year, Mesoraco has only 187 at-bats in his sole productive season in the MLB, compared to Posey's 286.

Despite these snubs, the show will go on, and the 2014 MLB All-Star Game will take place at Target Field in Minneapolis on July 15, at 8:00 p.m. You can read more about the all-star rosters in this MLB.com article.