data bbstats; label atbats="At Bats"; input Player $19. atbats Hits BB; datalines; Christian Walker 271 97 36 Scott Wingo 240 81 44 Brady Thomas 231 73 23 Evan Marzilli 220 64 25 Robert Beary 211 61 12 Adrian Morales 249 70 30 Peter Mooney 254 71 44 Jake Williams 209 56 21 Jackie Bradley Jr. 162 40 22 ; run; *Slide 12; proc sql; select player, atbats from bbstats; quit; *Slide 13; proc sql; select player, hits/atbats as avg from bbstats; quit; *Slide 15; proc sql; select player, atbats from bbstats where atbats > 230; quit; proc sql; select player, atbats from bbstats where hits > 70; quit; * Note the calculated columns are not available unless a new table is created; * Does not work; proc sql; select player, hits/atbats as avg from bbstats where avg > 0.270; quit; * Works because we create a new table (more on this later); proc sql; create table bbstats2 as select player, atbats, hits, hits/atbats as avg from bbstats; proc sql; select player, hits/atbats as avg from bbstats2 where avg > 0.270; quit; /* Chapter 2 will discuss a simpler way to do this */ *Slide 18; proc sql; select player, atbats from bbstats order by atbats desc; quit; *Slide 19; proc sql; select player, atbats from bbstats order by 2 desc; quit; * Ordering by two columns; proc sql; select player, bb, atbats from bbstats order by bb desc, atbats desc; quit;