Home » SAS: How to Use the WHERE Operator in PROC SQL

SAS: How to Use the WHERE Operator in PROC SQL

by Erma Khan

You can use the WHERE operator in the PROC SQL statement in SAS to only return rows where certain conditions are met.

The following examples show how to use the WHERE operator in the following scenarios:

  • Select rows where one condition is met.
  • Select rows where one of several conditions are met.
  • Select rows where multiple conditions are met.

The following examples show how to use the WHERE operator in each scenario with the following dataset in SAS:

/*create dataset*/
data my_data;
    input team $ points;
    datalines;
A 12
A 14
A 15
A 18
B 31
B 32
C 35
C 36
C 40
D 28
E 20
E 21
;
run;

/*view dataset*/
proc print data=my_data;

Example 1: Select Rows Where One Condition is Met

The following code shows how to use the WHERE operator in the PROC SQL statement to select all rows in the dataset where the team is equal to A:

/*select all rows where team is equal to A*/
proc sql;
   select *
   from my_data
   where team = 'A';
quit;

The only rows returned are the ones where the team is equal to A.

Example 2: Select Rows Where One of Several Conditions are Met

The following code shows how to use the WHERE operator in the PROC SQL statement to select all rows in the dataset where the team is equal to A or points is greater than 30:

/*select all rows where team is equal to A or points is greater than 30*/
proc sql;
   select *
   from my_data
   where team = 'A' or points > 30;
quit;

The only rows returned are the ones where the team is equal to A or points is greater than 30:

Example 3: Select Rows Where Multiple Conditions are Met

The following code shows how to use the WHERE operator in the PROC SQL statement to select all rows in the dataset where the team is equal to A and points is greater than 13:

/*select all rows where team is equal to A and points is greater than 13*/
proc sql;
   select *
   from my_data
   where team = 'A' and points > 13;
quit;

The only rows returned are the ones where the team is equal to A and points is greater than 13:

Additional Resources

The following tutorials explain how to perform other common tasks in SAS:

SAS: How to Use the IN Operator in PROC SQL
SAS: How to Use UNION in PROC SQL
SAS: How to Use EXCEPT in PROC SQL

Related Posts