SAS : Comment utiliser l’opérateur WHERE dans PROC SQL



Vous pouvez utiliser l’opérateur WHERE dans l’instruction PROC SQL dans SAS pour renvoyer uniquement les lignes où certaines conditions sont remplies.

Les exemples suivants montrent comment utiliser l’opérateur WHERE dans les scénarios suivants :

  • Sélectionnez les lignes où une condition est remplie.
  • Sélectionnez les lignes où l’une des nombreuses conditions est remplie.
  • Sélectionnez les lignes où plusieurs conditions sont remplies.

Les exemples suivants montrent comment utiliser l’opérateur WHERE dans chaque scénario avec l’ensemble de données suivant dans 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;

Exemple 1 : sélectionner les lignes où une condition est remplie

Le code suivant montre comment utiliser l’opérateur WHERE dans l’instruction SQL PROC pour sélectionner toutes les lignes de l’ensemble de données où l’équipe est égale à A :

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

Les seules lignes renvoyées sont celles où l’équipe est égale à A.

Exemple 2 : sélectionner les lignes où l’une des plusieurs conditions est remplie

Le code suivant montre comment utiliser l’opérateur WHERE dans l’instruction SQL PROC pour sélectionner toutes les lignes de l’ensemble de données où l’équipe est égale à A ou les points sont supérieurs à 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;

Les seules lignes renvoyées sont celles où l’équipe est égale à A ou les points sont supérieurs à 30 :

Exemple 3 : sélectionner les lignes où plusieurs conditions sont remplies

Le code suivant montre comment utiliser l’opérateur WHERE dans l’instruction SQL PROC pour sélectionner toutes les lignes de l’ensemble de données où l’équipe est égale à A et les points sont supérieurs à 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;

Les seules lignes renvoyées sont celles où l’équipe est égale à A et les points sont supérieurs à 13 :

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :

SAS : Comment utiliser l’opérateur IN dans PROC SQL
SAS : Comment utiliser UNION dans PROC SQL
SAS : Comment utiliser EXCEPT dans PROC SQL

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *