Help using Base SAS procedures

difference between merge set and update

Occasional Contributor
Posts: 13

difference between merge set and update

Can any body explain me how merge ,set and update are differently work ?

Thanks in advance ,


Posts: 32

Re: difference between merge set and update

Occasional Contributor
Posts: 15

Re: difference between merge set and update


  -> merge usually joins datasets with different variable.

     output datasets contain all the variables from all datasets.

      up to 100 datasets can merge i one step.

      observations are match merge with BY statement

   ex= data onetoonemerging;

             merge one two;


   ex2= data matchmerge;

           merge one two ;

           by id;



-> combining two or more sas datasets into a single sas datasets one after another using SET stmt that is also called concatation.

     if original datasets contai diff. data types for variables concatenation wont happen.

     ex= data sada;

             set one two;


in SET stmt we can also use a dataset table option like obs,firstobs,keep,rename and drop.


-> if we want to update a dataset if the record exist in dataset then it update otherwise insert it .

  ex= data one ;

        update one two;

        by id ;


Super User
Super User
Posts: 6,500

Re: difference between merge set and update

Read the on-line docs for more complete descriptions.

MERGE is for combining data side-by-side.

SET is for combining data top-to-bottom.

UPDATE is for applying transactions to a master dataset.

Regular Contributor
Posts: 184

Re: difference between merge set and update


New Contributor
Posts: 4

Re: difference between merge set and update

[ Edited ]



Merge and update is almost same but they differ with certian scenarios:


With MERGE, you’re able to combine update, delete, and insert command into one statement.   This is because the MERGE statement uses a WHEN clause to determine the course of action to take on the match.


With a MERGE, you can take different actions based on the rows matching or not matching the target or source.  With the updated, you’re only updating rows that match.


with merge you can merge two or more datafiles together and there are variations with merge too, left-merge, right-merge... etc


I hope this helps!!!

Ask a Question
Discussion stats
  • 5 replies
  • 6 in conversation