"Better" in what sense? 

The `LIKE` version is sargable as you have no leading wildcards and can use index seeks so that is better in that respect.

In this case you could also consider

    SELECT * FROM 
    TableA
    WHERE acccode LIKE '1[3-6]1%'
          OR acccode LIKE '121-111%'

As a simplification though the fully expanded version might be more efficient.

If you have no useful index you might prefer just using

    SELECT * FROM 
    TableA
    WHERE LEFT(acccode,3) IN ('131','141','151','161') 
          OR acccode LIKE '121-111%'

Either way it looks as though there is some meaning buried in `acccode` that might be best storing in a separate column.