Chapter 3 Supplement Self-joins Using PROC SQL 1 Self-Joins Self-joins, or Reflexive Joins are used to compare values within a data set Examples typically use equality operations to create a join 2 2011 SEC Football Scores Date Winning Team Winning Score Losing Team Losing Score 11/19/2011 Alabama 45 Georgia Southern 21 11/19/2011 Arkansas 44 Mississippi State 17 11/19/2011 LSU 52 Ole Miss 3 11/19/2011 Tennessee 27 Vanderbilt 21 11/12/2011 South Carolina 17 Florida 12 3 Self-Joins Note that USC’s winning score on November 12 matches Mississippi State’s losing score on November 19 We can record all such instances using a reflexive join The reflexive join can look like an outer union 4 Self-Join Syntax proc sql; select winner.wscore, winner.date, winner.wteam, loser.date, loser.lteam from secscores as winner, secscores as loser where winner.wscore=loser.lscore; quit; 5 Self-Join Syntax We do not have to use equality operators: proc sql; select winner.wscore, winner.date, winner.wteam, loser.date, loser.lteam from secscores as winner, secscores as loser where winner.wscore lt loser.lscore; quit; 6
© Copyright 2025 Paperzz