It is best to terminate every SQL statement with a semicolon. SQL Server documents (for example, here ) suggest that it will be provided for in a future version, there really is no excuse for not getting into the habit now.
To answer the question: you see ;WITH... in Stackoverflow, because the one who answers is a sloppy encoder OR the user replies that the person asking the question is a sloppy encoder (and they claim to be the last one when it is first :) The definition of "sloppy coder" here is someone who uses a semicolon when they are forced to do this.
onedaywhen
source share