一、可用模块不同 where语句可在data步和proc步中使用,if语句只能在data步中使用。 二、面向PDV的方式不同 PDV(Program Data Vector,程序数据向量):是在编译阶段生成的,用于存储变量和临时变量的当前值的一个内存区域。简单说,就是数据记录先在PDV中进行处理,再输出;where语句是对读入PDV前的数据记录进行判断,满足条件的才会写入PDV;if语句则是对PDV中的数据记录进行判断。使用SASHELP.CLASS来具体说明: 图 1 SASHELP.CLASS的前9条记录 图 2 WHERE语句 图 3 IF语句 三、总结 表1 WHERE语句和IF语句的差别